{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import xgboost as xgb\n",
    "import numpy as np\n",
    "from sklearn.datasets import fetch_covtype\n",
    "from sklearn.model_selection import train_test_split\n",
    "import time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 552 ms, sys: 144 ms, total: 696 ms\n",
      "Wall time: 701 ms\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "# Fetch dataset using sklearn\n",
    "cov = fetch_covtype()\n",
    "X = cov.data\n",
    "y = cov.target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 168 ms, sys: 480 ms, total: 648 ms\n",
      "Wall time: 647 ms\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "# Create 0.75/0.25 train/test split\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, train_size=0.75,\n",
    "                                                    random_state=42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 88 ms, sys: 520 ms, total: 608 ms\n",
      "Wall time: 608 ms\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "# Convert input data from numpy to XGBoost format\n",
    "dtrain = xgb.DMatrix(X_train, label=y_train)\n",
    "dtest = xgb.DMatrix(X_test, label=y_test)\n",
    "\n",
    "num_round = 10\n",
    "maxdepth = 6\n",
    "# base parameters\n",
    "param = {'tree_method': 'gpu_hist',\n",
    "         'grow_policy': 'depthwise',\n",
    "         'max_depth': maxdepth,\n",
    "         'random_state': 1234,\n",
    "         'objective': 'multi:softmax', # Specify multiclass classification\n",
    "         'num_class': 8, # Number of possible output classes\n",
    "         'base_score': 0.5,\n",
    "         'booster': 'gbtree',\n",
    "         'colsample_bylevel': 1,\n",
    "         'colsample_bytree': 1,\n",
    "         'gamma': 0,\n",
    "         'learning_rate': 0.1, \n",
    "         'max_delta_step': 0,\n",
    "         'min_child_weight': 1,\n",
    "         'missing': None,\n",
    "         'n_estimators': 3,\n",
    "         'scale_pos_weight': 1,\n",
    "         'silent': True,\n",
    "         'subsample': 1,\n",
    "         'verbose': True,\n",
    "         'n_jobs': -1\n",
    "         }"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0]\ttest-merror:0.254817\n",
      "[1]\ttest-merror:0.254494\n",
      "[2]\ttest-merror:0.250067\n",
      "[3]\ttest-merror:0.247244\n",
      "[4]\ttest-merror:0.245028\n",
      "[5]\ttest-merror:0.244071\n",
      "[6]\ttest-merror:0.243754\n",
      "[7]\ttest-merror:0.242666\n",
      "[8]\ttest-merror:0.241578\n",
      "[9]\ttest-merror:0.240773\n",
      "GPU Training Time: 4.611009836196899 seconds\n",
      "CPU times: user 28.6 s, sys: 1.28 s, total: 29.9 s\n",
      "Wall time: 4.61 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "# GPU HIST DEPTHWISE\n",
    "param['tree_method'] = 'gpu_hist'\n",
    "param['grow_policy'] = 'depthwise'\n",
    "param['max_depth'] = maxdepth\n",
    "param['max_leaves'] = 0\n",
    "gpu_res = {} # Store accuracy result\n",
    "tmp = time.time()\n",
    "# Train model\n",
    "xgb.train(param, dtrain, num_round, evals=[(dtest, 'test')], evals_result=gpu_res)\n",
    "print(\"GPU Training Time: %s seconds\" % (str(time.time() - tmp)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0]\ttest-merror:0.232346\n",
      "[1]\ttest-merror:0.222763\n",
      "[2]\ttest-merror:0.218832\n",
      "[3]\ttest-merror:0.216333\n",
      "[4]\ttest-merror:0.214357\n",
      "[5]\ttest-merror:0.213132\n",
      "[6]\ttest-merror:0.211059\n",
      "[7]\ttest-merror:0.209407\n",
      "[8]\ttest-merror:0.207576\n",
      "[9]\ttest-merror:0.205517\n",
      "GPU Training Time: 4.026514530181885 seconds\n",
      "CPU times: user 26 s, sys: 1.1 s, total: 27.1 s\n",
      "Wall time: 4.03 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "# GPU HIST LOSSGUIDE\n",
    "param['tree_method'] = 'gpu_hist'\n",
    "param['grow_policy'] = 'lossguide'\n",
    "param['max_depth'] = 0\n",
    "param['max_leaves'] = np.power(2,maxdepth)\n",
    "gpu_res = {} # Store accuracy result\n",
    "tmp = time.time()\n",
    "# Train model\n",
    "xgb.train(param, dtrain, num_round, evals=[(dtest, 'test')], evals_result=gpu_res)\n",
    "print(\"GPU Training Time: %s seconds\" % (str(time.time() - tmp)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0]\ttest-merror:0.254831\n",
      "[1]\ttest-merror:0.254349\n",
      "[2]\ttest-merror:0.249716\n",
      "[3]\ttest-merror:0.247313\n",
      "[4]\ttest-merror:0.245028\n",
      "[5]\ttest-merror:0.244546\n",
      "[6]\ttest-merror:0.243245\n",
      "[7]\ttest-merror:0.242067\n",
      "[8]\ttest-merror:0.24111\n",
      "[9]\ttest-merror:0.241138\n",
      "CPU Training Time: 6.0146708488464355 seconds\n",
      "CPU times: user 2min 46s, sys: 436 ms, total: 2min 47s\n",
      "Wall time: 6.02 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "# CPU HIST DEPTHWISE\n",
    "param['tree_method'] = 'hist'\n",
    "param['grow_policy'] = 'depthwise'\n",
    "param['max_depth'] = maxdepth\n",
    "param['max_leaves'] = 0\n",
    "cpu_res = {} # Store accuracy result\n",
    "tmp = time.time()\n",
    "# Train model\n",
    "xgb.train(param, dtrain, num_round, evals=[(dtest, 'test')], evals_result=cpu_res)\n",
    "print(\"CPU Training Time: %s seconds\" % (str(time.time() - tmp)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0]\ttest-merror:0.230515\n",
      "[1]\ttest-merror:0.222515\n",
      "[2]\ttest-merror:0.218646\n",
      "[3]\ttest-merror:0.21623\n",
      "[4]\ttest-merror:0.213827\n",
      "[5]\ttest-merror:0.21278\n",
      "[6]\ttest-merror:0.210509\n",
      "[7]\ttest-merror:0.208478\n",
      "[8]\ttest-merror:0.206653\n",
      "[9]\ttest-merror:0.204794\n",
      "CPU Training Time: 5.655816555023193 seconds\n",
      "CPU times: user 2min 37s, sys: 224 ms, total: 2min 37s\n",
      "Wall time: 5.66 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "# CPU HIST LOSSGUIDE\n",
    "param['tree_method'] = 'hist'\n",
    "param['grow_policy'] = 'lossguide'\n",
    "param['max_depth'] = 0\n",
    "param['max_leaves'] = np.power(2,maxdepth)\n",
    "cpu_res = {} # Store accuracy result\n",
    "tmp = time.time()\n",
    "# Train model\n",
    "xgb.train(param, dtrain, num_round, evals=[(dtest, 'test')], evals_result=cpu_res)\n",
    "print(\"CPU Training Time: %s seconds\" % (str(time.time() - tmp)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# SKLEARN API XGBOOST PARAMETERS\n",
    "kwargs = {'grow_policy': 'depthwise',\n",
    "          'eval_metric': 'mlogloss',\n",
    "          'num_class': 8,\n",
    "          'objective': 'multi:softmax',\n",
    "          'n_estimators': num_round,\n",
    "          'tree_method': \"gpu_hist\",\n",
    "          'grow_policy': 'depthwise',\n",
    "          'max_depth': maxdepth,\n",
    "          'random_state': 1234,\n",
    "          'n_jobs': -1,\n",
    "          'silent': True,\n",
    "          'debug_verbose': 2,\n",
    "          'verbose': True}\n",
    "eval_metric = 'mlogloss'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0]\tvalidation_0-mlogloss:1.75749\n",
      "[1]\tvalidation_0-mlogloss:1.61192\n",
      "[2]\tvalidation_0-mlogloss:1.49304\n",
      "[3]\tvalidation_0-mlogloss:1.39354\n",
      "[4]\tvalidation_0-mlogloss:1.30886\n",
      "[5]\tvalidation_0-mlogloss:1.23415\n",
      "[6]\tvalidation_0-mlogloss:1.16927\n",
      "[7]\tvalidation_0-mlogloss:1.11169\n",
      "[8]\tvalidation_0-mlogloss:1.0603\n",
      "[9]\tvalidation_0-mlogloss:1.01412\n",
      "{'base_score': 0.5, 'booster': 'gbtree', 'colsample_bylevel': 1, 'colsample_bytree': 1, 'gamma': 0, 'learning_rate': 0.1, 'max_delta_step': 0, 'max_depth': 6, 'min_child_weight': 1, 'missing': None, 'n_estimators': 10, 'n_jobs': -1, 'nthread': None, 'objective': 'multi:softprob', 'random_state': 1234, 'reg_alpha': 0, 'reg_lambda': 1, 'scale_pos_weight': 1, 'seed': None, 'silent': True, 'subsample': 1, 'grow_policy': 'depthwise', 'eval_metric': 'mlogloss', 'num_class': 8, 'tree_method': 'gpu_hist', 'debug_verbose': 2, 'verbose': True, 'max_leaves': 0}\n",
      "CPU times: user 29.6 s, sys: 1.94 s, total: 31.6 s\n",
      "Wall time: 5.55 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "# SKLEARN GPU HIST DEPTHWISE\n",
    "kwargs['tree_method'] = 'gpu_hist'\n",
    "kwargs['grow_policy'] = \"depthwise\"\n",
    "kwargs['max_depth'] = maxdepth\n",
    "kwargs['max_leaves'] = 0\n",
    "model = xgb.XGBClassifier(**kwargs)\n",
    "model.fit(X=X_train, y=y_train, verbose=True, eval_set=[(X_test, y_test)], eval_metric=eval_metric)\n",
    "print(model.get_params())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "del model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0]\tvalidation_0-mlogloss:1.74524\n",
      "[1]\tvalidation_0-mlogloss:1.59113\n",
      "[2]\tvalidation_0-mlogloss:1.46651\n",
      "[3]\tvalidation_0-mlogloss:1.36286\n",
      "[4]\tvalidation_0-mlogloss:1.27329\n",
      "[5]\tvalidation_0-mlogloss:1.19495\n",
      "[6]\tvalidation_0-mlogloss:1.12665\n",
      "[7]\tvalidation_0-mlogloss:1.06653\n",
      "[8]\tvalidation_0-mlogloss:1.01276\n",
      "[9]\tvalidation_0-mlogloss:0.964595\n",
      "{'base_score': 0.5, 'booster': 'gbtree', 'colsample_bylevel': 1, 'colsample_bytree': 1, 'gamma': 0, 'learning_rate': 0.1, 'max_delta_step': 0, 'max_depth': 0, 'min_child_weight': 1, 'missing': None, 'n_estimators': 10, 'n_jobs': -1, 'nthread': None, 'objective': 'multi:softprob', 'random_state': 1234, 'reg_alpha': 0, 'reg_lambda': 1, 'scale_pos_weight': 1, 'seed': None, 'silent': True, 'subsample': 1, 'grow_policy': 'lossguide', 'eval_metric': 'mlogloss', 'num_class': 8, 'tree_method': 'gpu_hist', 'verbose': True, 'max_leaves': 64}\n",
      "CPU times: user 24.1 s, sys: 1.21 s, total: 25.3 s\n",
      "Wall time: 3.79 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "# SKLEARN GPU HIST LOSSGUIDE\n",
    "kwargs['tree_method'] = 'gpu_hist'\n",
    "kwargs['grow_policy'] = \"lossguide\"\n",
    "kwargs['max_depth'] = 0\n",
    "kwargs['max_leaves'] = np.power(2,maxdepth)\n",
    "model = xgb.XGBClassifier(**kwargs)\n",
    "model.fit(X=X_train, y=y_train, verbose=True, eval_set=[(X_test, y_test)], eval_metric=eval_metric)\n",
    "print(model.get_params())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0]\tvalidation_0-mlogloss:1.7575\n",
      "[1]\tvalidation_0-mlogloss:1.61197\n",
      "[2]\tvalidation_0-mlogloss:1.49308\n",
      "[3]\tvalidation_0-mlogloss:1.39359\n",
      "[4]\tvalidation_0-mlogloss:1.3089\n",
      "[5]\tvalidation_0-mlogloss:1.23419\n",
      "[6]\tvalidation_0-mlogloss:1.1693\n",
      "[7]\tvalidation_0-mlogloss:1.11172\n",
      "[8]\tvalidation_0-mlogloss:1.06032\n",
      "[9]\tvalidation_0-mlogloss:1.01414\n",
      "{'base_score': 0.5, 'booster': 'gbtree', 'colsample_bylevel': 1, 'colsample_bytree': 1, 'gamma': 0, 'learning_rate': 0.1, 'max_delta_step': 0, 'max_depth': 6, 'min_child_weight': 1, 'missing': None, 'n_estimators': 10, 'n_jobs': -1, 'nthread': None, 'objective': 'multi:softprob', 'random_state': 1234, 'reg_alpha': 0, 'reg_lambda': 1, 'scale_pos_weight': 1, 'seed': None, 'silent': True, 'subsample': 1, 'grow_policy': 'depthwise', 'eval_metric': 'mlogloss', 'num_class': 8, 'tree_method': 'hist', 'verbose': True, 'max_leaves': 0}\n",
      "CPU times: user 2min 25s, sys: 452 ms, total: 2min 25s\n",
      "Wall time: 5.56 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "# SKLEARN CPU HIST DEPTHWISE\n",
    "kwargs['tree_method'] = 'hist'\n",
    "kwargs['grow_policy'] = \"depthwise\"\n",
    "kwargs['max_depth'] = maxdepth\n",
    "kwargs['max_leaves'] = 0\n",
    "model = xgb.XGBClassifier(**kwargs)\n",
    "model.fit(X=X_train, y=y_train, verbose=True, eval_set=[(X_test, y_test)], eval_metric=eval_metric)\n",
    "print(model.get_params())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0]\tvalidation_0-mlogloss:1.74526\n",
      "[1]\tvalidation_0-mlogloss:1.59115\n",
      "[2]\tvalidation_0-mlogloss:1.46653\n",
      "[3]\tvalidation_0-mlogloss:1.36288\n",
      "[4]\tvalidation_0-mlogloss:1.2733\n",
      "[5]\tvalidation_0-mlogloss:1.19497\n",
      "[6]\tvalidation_0-mlogloss:1.12667\n",
      "[7]\tvalidation_0-mlogloss:1.06654\n",
      "[8]\tvalidation_0-mlogloss:1.01277\n",
      "[9]\tvalidation_0-mlogloss:0.964607\n",
      "{'base_score': 0.5, 'booster': 'gbtree', 'colsample_bylevel': 1, 'colsample_bytree': 1, 'gamma': 0, 'learning_rate': 0.1, 'max_delta_step': 0, 'max_depth': 0, 'min_child_weight': 1, 'missing': None, 'n_estimators': 10, 'n_jobs': -1, 'nthread': None, 'objective': 'multi:softprob', 'random_state': 1234, 'reg_alpha': 0, 'reg_lambda': 1, 'scale_pos_weight': 1, 'seed': None, 'silent': True, 'subsample': 1, 'grow_policy': 'lossguide', 'eval_metric': 'mlogloss', 'num_class': 8, 'tree_method': 'hist', 'verbose': True, 'max_leaves': 64}\n",
      "CPU times: user 2min 22s, sys: 548 ms, total: 2min 22s\n",
      "Wall time: 5.27 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "# SKLEARN CPU HIST LOSSGUIDE\n",
    "kwargs['tree_method'] = 'hist'\n",
    "kwargs['grow_policy'] = \"lossguide\"\n",
    "kwargs['max_depth'] = 0\n",
    "kwargs['max_leaves'] = np.power(2,maxdepth)\n",
    "model = xgb.XGBClassifier(**kwargs)\n",
    "model.fit(X=X_train, y=y_train, verbose=True, eval_set=[(X_test, y_test)], eval_metric=eval_metric)\n",
    "print(model.get_params())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0]\tvalidation_0-mlogloss:1.74432\tvalidation_1-mlogloss:1.74524\n",
      "Multiple eval metrics have been passed: 'validation_1-mlogloss' will be used for early stopping.\n",
      "\n",
      "Will train until validation_1-mlogloss hasn't improved in 20 rounds.\n",
      "[1]\tvalidation_0-mlogloss:1.58936\tvalidation_1-mlogloss:1.59113\n",
      "[2]\tvalidation_0-mlogloss:1.46402\tvalidation_1-mlogloss:1.46651\n",
      "[3]\tvalidation_0-mlogloss:1.35969\tvalidation_1-mlogloss:1.36286\n",
      "[4]\tvalidation_0-mlogloss:1.26963\tvalidation_1-mlogloss:1.27329\n",
      "[5]\tvalidation_0-mlogloss:1.19082\tvalidation_1-mlogloss:1.19495\n",
      "[6]\tvalidation_0-mlogloss:1.12219\tvalidation_1-mlogloss:1.12665\n",
      "[7]\tvalidation_0-mlogloss:1.0616\tvalidation_1-mlogloss:1.06653\n",
      "[8]\tvalidation_0-mlogloss:1.00737\tvalidation_1-mlogloss:1.01276\n",
      "[9]\tvalidation_0-mlogloss:0.958994\tvalidation_1-mlogloss:0.964595\n",
      "[10]\tvalidation_0-mlogloss:0.915855\tvalidation_1-mlogloss:0.921763\n",
      "[11]\tvalidation_0-mlogloss:0.876349\tvalidation_1-mlogloss:0.882494\n",
      "[12]\tvalidation_0-mlogloss:0.840865\tvalidation_1-mlogloss:0.847242\n",
      "[13]\tvalidation_0-mlogloss:0.80823\tvalidation_1-mlogloss:0.814838\n",
      "[14]\tvalidation_0-mlogloss:0.778172\tvalidation_1-mlogloss:0.785023\n",
      "[15]\tvalidation_0-mlogloss:0.750763\tvalidation_1-mlogloss:0.757792\n",
      "[16]\tvalidation_0-mlogloss:0.725233\tvalidation_1-mlogloss:0.732577\n",
      "[17]\tvalidation_0-mlogloss:0.702553\tvalidation_1-mlogloss:0.710043\n",
      "[18]\tvalidation_0-mlogloss:0.681481\tvalidation_1-mlogloss:0.689152\n",
      "[19]\tvalidation_0-mlogloss:0.661861\tvalidation_1-mlogloss:0.669765\n",
      "[20]\tvalidation_0-mlogloss:0.643686\tvalidation_1-mlogloss:0.651666\n",
      "[21]\tvalidation_0-mlogloss:0.627419\tvalidation_1-mlogloss:0.635587\n",
      "[22]\tvalidation_0-mlogloss:0.611822\tvalidation_1-mlogloss:0.620226\n",
      "[23]\tvalidation_0-mlogloss:0.596918\tvalidation_1-mlogloss:0.605534\n",
      "[24]\tvalidation_0-mlogloss:0.583142\tvalidation_1-mlogloss:0.591979\n",
      "[25]\tvalidation_0-mlogloss:0.570666\tvalidation_1-mlogloss:0.579731\n",
      "[26]\tvalidation_0-mlogloss:0.558926\tvalidation_1-mlogloss:0.568169\n",
      "[27]\tvalidation_0-mlogloss:0.547707\tvalidation_1-mlogloss:0.557014\n",
      "[28]\tvalidation_0-mlogloss:0.537349\tvalidation_1-mlogloss:0.546779\n",
      "[29]\tvalidation_0-mlogloss:0.527385\tvalidation_1-mlogloss:0.536946\n",
      "[30]\tvalidation_0-mlogloss:0.518208\tvalidation_1-mlogloss:0.527894\n",
      "[31]\tvalidation_0-mlogloss:0.509346\tvalidation_1-mlogloss:0.519187\n",
      "[32]\tvalidation_0-mlogloss:0.501225\tvalidation_1-mlogloss:0.5112\n",
      "[33]\tvalidation_0-mlogloss:0.493351\tvalidation_1-mlogloss:0.503488\n",
      "[34]\tvalidation_0-mlogloss:0.486055\tvalidation_1-mlogloss:0.49637\n",
      "[35]\tvalidation_0-mlogloss:0.478976\tvalidation_1-mlogloss:0.489375\n",
      "[36]\tvalidation_0-mlogloss:0.472253\tvalidation_1-mlogloss:0.482719\n",
      "[37]\tvalidation_0-mlogloss:0.465595\tvalidation_1-mlogloss:0.476214\n",
      "[38]\tvalidation_0-mlogloss:0.459372\tvalidation_1-mlogloss:0.470198\n",
      "[39]\tvalidation_0-mlogloss:0.453509\tvalidation_1-mlogloss:0.464506\n",
      "[40]\tvalidation_0-mlogloss:0.447921\tvalidation_1-mlogloss:0.459058\n",
      "[41]\tvalidation_0-mlogloss:0.442892\tvalidation_1-mlogloss:0.454128\n",
      "[42]\tvalidation_0-mlogloss:0.43807\tvalidation_1-mlogloss:0.449383\n",
      "[43]\tvalidation_0-mlogloss:0.433212\tvalidation_1-mlogloss:0.44455\n",
      "[44]\tvalidation_0-mlogloss:0.428781\tvalidation_1-mlogloss:0.440167\n",
      "[45]\tvalidation_0-mlogloss:0.424795\tvalidation_1-mlogloss:0.436256\n",
      "[46]\tvalidation_0-mlogloss:0.420601\tvalidation_1-mlogloss:0.432148\n",
      "[47]\tvalidation_0-mlogloss:0.416685\tvalidation_1-mlogloss:0.428327\n",
      "[48]\tvalidation_0-mlogloss:0.413067\tvalidation_1-mlogloss:0.424743\n",
      "[49]\tvalidation_0-mlogloss:0.409731\tvalidation_1-mlogloss:0.421522\n",
      "[50]\tvalidation_0-mlogloss:0.406368\tvalidation_1-mlogloss:0.418262\n",
      "[51]\tvalidation_0-mlogloss:0.402977\tvalidation_1-mlogloss:0.414894\n",
      "[52]\tvalidation_0-mlogloss:0.399322\tvalidation_1-mlogloss:0.411361\n",
      "[53]\tvalidation_0-mlogloss:0.395708\tvalidation_1-mlogloss:0.407928\n",
      "[54]\tvalidation_0-mlogloss:0.392304\tvalidation_1-mlogloss:0.404655\n",
      "[55]\tvalidation_0-mlogloss:0.389189\tvalidation_1-mlogloss:0.401656\n",
      "[56]\tvalidation_0-mlogloss:0.386112\tvalidation_1-mlogloss:0.398696\n",
      "[57]\tvalidation_0-mlogloss:0.383082\tvalidation_1-mlogloss:0.395719\n",
      "[58]\tvalidation_0-mlogloss:0.380254\tvalidation_1-mlogloss:0.393011\n",
      "[59]\tvalidation_0-mlogloss:0.377664\tvalidation_1-mlogloss:0.390505\n",
      "[60]\tvalidation_0-mlogloss:0.375057\tvalidation_1-mlogloss:0.387998\n",
      "[61]\tvalidation_0-mlogloss:0.372466\tvalidation_1-mlogloss:0.385491\n",
      "[62]\tvalidation_0-mlogloss:0.370127\tvalidation_1-mlogloss:0.383243\n",
      "[63]\tvalidation_0-mlogloss:0.36751\tvalidation_1-mlogloss:0.38073\n",
      "[64]\tvalidation_0-mlogloss:0.365059\tvalidation_1-mlogloss:0.378394\n",
      "[65]\tvalidation_0-mlogloss:0.36267\tvalidation_1-mlogloss:0.376109\n",
      "[66]\tvalidation_0-mlogloss:0.360405\tvalidation_1-mlogloss:0.373947\n",
      "[67]\tvalidation_0-mlogloss:0.358356\tvalidation_1-mlogloss:0.371934\n",
      "[68]\tvalidation_0-mlogloss:0.356541\tvalidation_1-mlogloss:0.370175\n",
      "[69]\tvalidation_0-mlogloss:0.354434\tvalidation_1-mlogloss:0.368159\n",
      "[70]\tvalidation_0-mlogloss:0.352509\tvalidation_1-mlogloss:0.366326\n",
      "[71]\tvalidation_0-mlogloss:0.350557\tvalidation_1-mlogloss:0.364471\n",
      "[72]\tvalidation_0-mlogloss:0.348526\tvalidation_1-mlogloss:0.362497\n",
      "[73]\tvalidation_0-mlogloss:0.346353\tvalidation_1-mlogloss:0.360431\n",
      "[74]\tvalidation_0-mlogloss:0.344299\tvalidation_1-mlogloss:0.35849\n",
      "[75]\tvalidation_0-mlogloss:0.342357\tvalidation_1-mlogloss:0.356632\n",
      "[76]\tvalidation_0-mlogloss:0.340461\tvalidation_1-mlogloss:0.354808\n",
      "[77]\tvalidation_0-mlogloss:0.338642\tvalidation_1-mlogloss:0.353107\n",
      "[78]\tvalidation_0-mlogloss:0.337186\tvalidation_1-mlogloss:0.35173\n",
      "[79]\tvalidation_0-mlogloss:0.335562\tvalidation_1-mlogloss:0.350178\n",
      "[80]\tvalidation_0-mlogloss:0.33383\tvalidation_1-mlogloss:0.348506\n",
      "[81]\tvalidation_0-mlogloss:0.332437\tvalidation_1-mlogloss:0.347163\n",
      "[82]\tvalidation_0-mlogloss:0.330652\tvalidation_1-mlogloss:0.34546\n",
      "[83]\tvalidation_0-mlogloss:0.329136\tvalidation_1-mlogloss:0.344018\n",
      "[84]\tvalidation_0-mlogloss:0.327513\tvalidation_1-mlogloss:0.342506\n",
      "[85]\tvalidation_0-mlogloss:0.325998\tvalidation_1-mlogloss:0.341048\n",
      "[86]\tvalidation_0-mlogloss:0.324592\tvalidation_1-mlogloss:0.339749\n",
      "[87]\tvalidation_0-mlogloss:0.323413\tvalidation_1-mlogloss:0.338633\n",
      "[88]\tvalidation_0-mlogloss:0.322372\tvalidation_1-mlogloss:0.337663\n",
      "[89]\tvalidation_0-mlogloss:0.320983\tvalidation_1-mlogloss:0.336344\n",
      "[90]\tvalidation_0-mlogloss:0.3197\tvalidation_1-mlogloss:0.335121\n",
      "[91]\tvalidation_0-mlogloss:0.318566\tvalidation_1-mlogloss:0.334049\n",
      "[92]\tvalidation_0-mlogloss:0.31727\tvalidation_1-mlogloss:0.332848\n",
      "[93]\tvalidation_0-mlogloss:0.31636\tvalidation_1-mlogloss:0.331996\n",
      "[94]\tvalidation_0-mlogloss:0.315305\tvalidation_1-mlogloss:0.330993\n",
      "[95]\tvalidation_0-mlogloss:0.314108\tvalidation_1-mlogloss:0.329867\n",
      "[96]\tvalidation_0-mlogloss:0.313094\tvalidation_1-mlogloss:0.328917\n",
      "[97]\tvalidation_0-mlogloss:0.312101\tvalidation_1-mlogloss:0.327979\n",
      "[98]\tvalidation_0-mlogloss:0.310999\tvalidation_1-mlogloss:0.326986\n",
      "[99]\tvalidation_0-mlogloss:0.310027\tvalidation_1-mlogloss:0.326056\n",
      "[100]\tvalidation_0-mlogloss:0.309337\tvalidation_1-mlogloss:0.325436\n",
      "[101]\tvalidation_0-mlogloss:0.308224\tvalidation_1-mlogloss:0.324413\n",
      "[102]\tvalidation_0-mlogloss:0.307414\tvalidation_1-mlogloss:0.323649\n",
      "[103]\tvalidation_0-mlogloss:0.306576\tvalidation_1-mlogloss:0.322853\n",
      "[104]\tvalidation_0-mlogloss:0.305401\tvalidation_1-mlogloss:0.321757\n",
      "[105]\tvalidation_0-mlogloss:0.304384\tvalidation_1-mlogloss:0.320826\n",
      "[106]\tvalidation_0-mlogloss:0.303529\tvalidation_1-mlogloss:0.320014\n",
      "[107]\tvalidation_0-mlogloss:0.302586\tvalidation_1-mlogloss:0.319103\n",
      "[108]\tvalidation_0-mlogloss:0.301318\tvalidation_1-mlogloss:0.317906\n",
      "[109]\tvalidation_0-mlogloss:0.300564\tvalidation_1-mlogloss:0.317229\n",
      "[110]\tvalidation_0-mlogloss:0.29971\tvalidation_1-mlogloss:0.316437\n",
      "[111]\tvalidation_0-mlogloss:0.298767\tvalidation_1-mlogloss:0.315538\n",
      "[112]\tvalidation_0-mlogloss:0.297969\tvalidation_1-mlogloss:0.314797\n",
      "[113]\tvalidation_0-mlogloss:0.297269\tvalidation_1-mlogloss:0.314145\n",
      "[114]\tvalidation_0-mlogloss:0.296527\tvalidation_1-mlogloss:0.313461\n",
      "[115]\tvalidation_0-mlogloss:0.295784\tvalidation_1-mlogloss:0.312759\n",
      "[116]\tvalidation_0-mlogloss:0.294618\tvalidation_1-mlogloss:0.311672\n",
      "[117]\tvalidation_0-mlogloss:0.293855\tvalidation_1-mlogloss:0.310982\n",
      "[118]\tvalidation_0-mlogloss:0.293209\tvalidation_1-mlogloss:0.310401\n",
      "[119]\tvalidation_0-mlogloss:0.292508\tvalidation_1-mlogloss:0.309759\n",
      "[120]\tvalidation_0-mlogloss:0.291788\tvalidation_1-mlogloss:0.309109\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[121]\tvalidation_0-mlogloss:0.290937\tvalidation_1-mlogloss:0.30832\n",
      "[122]\tvalidation_0-mlogloss:0.290265\tvalidation_1-mlogloss:0.307719\n",
      "[123]\tvalidation_0-mlogloss:0.289324\tvalidation_1-mlogloss:0.306851\n",
      "[124]\tvalidation_0-mlogloss:0.288532\tvalidation_1-mlogloss:0.306117\n",
      "[125]\tvalidation_0-mlogloss:0.287747\tvalidation_1-mlogloss:0.305424\n",
      "[126]\tvalidation_0-mlogloss:0.286971\tvalidation_1-mlogloss:0.304688\n",
      "[127]\tvalidation_0-mlogloss:0.286169\tvalidation_1-mlogloss:0.303967\n",
      "[128]\tvalidation_0-mlogloss:0.28531\tvalidation_1-mlogloss:0.303215\n",
      "[129]\tvalidation_0-mlogloss:0.284581\tvalidation_1-mlogloss:0.302551\n",
      "[130]\tvalidation_0-mlogloss:0.284141\tvalidation_1-mlogloss:0.302144\n",
      "[131]\tvalidation_0-mlogloss:0.283289\tvalidation_1-mlogloss:0.301326\n",
      "[132]\tvalidation_0-mlogloss:0.282525\tvalidation_1-mlogloss:0.3006\n",
      "[133]\tvalidation_0-mlogloss:0.2818\tvalidation_1-mlogloss:0.299947\n",
      "[134]\tvalidation_0-mlogloss:0.281133\tvalidation_1-mlogloss:0.299337\n",
      "[135]\tvalidation_0-mlogloss:0.280527\tvalidation_1-mlogloss:0.298797\n",
      "[136]\tvalidation_0-mlogloss:0.279878\tvalidation_1-mlogloss:0.298225\n",
      "[137]\tvalidation_0-mlogloss:0.279326\tvalidation_1-mlogloss:0.297725\n",
      "[138]\tvalidation_0-mlogloss:0.278656\tvalidation_1-mlogloss:0.297098\n",
      "[139]\tvalidation_0-mlogloss:0.277994\tvalidation_1-mlogloss:0.296495\n",
      "[140]\tvalidation_0-mlogloss:0.277341\tvalidation_1-mlogloss:0.295901\n",
      "[141]\tvalidation_0-mlogloss:0.276687\tvalidation_1-mlogloss:0.295299\n",
      "[142]\tvalidation_0-mlogloss:0.275763\tvalidation_1-mlogloss:0.294429\n",
      "[143]\tvalidation_0-mlogloss:0.275139\tvalidation_1-mlogloss:0.293884\n",
      "[144]\tvalidation_0-mlogloss:0.274475\tvalidation_1-mlogloss:0.293281\n",
      "[145]\tvalidation_0-mlogloss:0.273744\tvalidation_1-mlogloss:0.292597\n",
      "[146]\tvalidation_0-mlogloss:0.273162\tvalidation_1-mlogloss:0.292085\n",
      "[147]\tvalidation_0-mlogloss:0.272267\tvalidation_1-mlogloss:0.291287\n",
      "[148]\tvalidation_0-mlogloss:0.271719\tvalidation_1-mlogloss:0.290828\n",
      "[149]\tvalidation_0-mlogloss:0.271272\tvalidation_1-mlogloss:0.290428\n",
      "[150]\tvalidation_0-mlogloss:0.270381\tvalidation_1-mlogloss:0.289581\n",
      "[151]\tvalidation_0-mlogloss:0.269325\tvalidation_1-mlogloss:0.288597\n",
      "[152]\tvalidation_0-mlogloss:0.268588\tvalidation_1-mlogloss:0.287898\n",
      "[153]\tvalidation_0-mlogloss:0.268071\tvalidation_1-mlogloss:0.287458\n",
      "[154]\tvalidation_0-mlogloss:0.267022\tvalidation_1-mlogloss:0.286436\n",
      "[155]\tvalidation_0-mlogloss:0.266306\tvalidation_1-mlogloss:0.285778\n",
      "[156]\tvalidation_0-mlogloss:0.265351\tvalidation_1-mlogloss:0.284885\n",
      "[157]\tvalidation_0-mlogloss:0.264689\tvalidation_1-mlogloss:0.284263\n",
      "[158]\tvalidation_0-mlogloss:0.264052\tvalidation_1-mlogloss:0.283689\n",
      "[159]\tvalidation_0-mlogloss:0.263521\tvalidation_1-mlogloss:0.28324\n",
      "[160]\tvalidation_0-mlogloss:0.262621\tvalidation_1-mlogloss:0.282408\n",
      "[161]\tvalidation_0-mlogloss:0.261986\tvalidation_1-mlogloss:0.281832\n",
      "[162]\tvalidation_0-mlogloss:0.261187\tvalidation_1-mlogloss:0.281059\n",
      "[163]\tvalidation_0-mlogloss:0.260404\tvalidation_1-mlogloss:0.280348\n",
      "[164]\tvalidation_0-mlogloss:0.259716\tvalidation_1-mlogloss:0.279749\n",
      "[165]\tvalidation_0-mlogloss:0.258745\tvalidation_1-mlogloss:0.278837\n",
      "[166]\tvalidation_0-mlogloss:0.25798\tvalidation_1-mlogloss:0.278162\n",
      "[167]\tvalidation_0-mlogloss:0.257404\tvalidation_1-mlogloss:0.277654\n",
      "[168]\tvalidation_0-mlogloss:0.256766\tvalidation_1-mlogloss:0.277083\n",
      "[169]\tvalidation_0-mlogloss:0.256342\tvalidation_1-mlogloss:0.276704\n",
      "[170]\tvalidation_0-mlogloss:0.25566\tvalidation_1-mlogloss:0.276116\n",
      "[171]\tvalidation_0-mlogloss:0.254996\tvalidation_1-mlogloss:0.275522\n",
      "[172]\tvalidation_0-mlogloss:0.254605\tvalidation_1-mlogloss:0.275164\n",
      "[173]\tvalidation_0-mlogloss:0.254075\tvalidation_1-mlogloss:0.27468\n",
      "[174]\tvalidation_0-mlogloss:0.253484\tvalidation_1-mlogloss:0.274168\n",
      "[175]\tvalidation_0-mlogloss:0.252935\tvalidation_1-mlogloss:0.273681\n",
      "[176]\tvalidation_0-mlogloss:0.252436\tvalidation_1-mlogloss:0.273244\n",
      "[177]\tvalidation_0-mlogloss:0.251947\tvalidation_1-mlogloss:0.272801\n",
      "[178]\tvalidation_0-mlogloss:0.251514\tvalidation_1-mlogloss:0.272407\n",
      "[179]\tvalidation_0-mlogloss:0.25065\tvalidation_1-mlogloss:0.271624\n",
      "[180]\tvalidation_0-mlogloss:0.250127\tvalidation_1-mlogloss:0.27115\n",
      "[181]\tvalidation_0-mlogloss:0.249789\tvalidation_1-mlogloss:0.270846\n",
      "[182]\tvalidation_0-mlogloss:0.248939\tvalidation_1-mlogloss:0.270072\n",
      "[183]\tvalidation_0-mlogloss:0.248586\tvalidation_1-mlogloss:0.26978\n",
      "[184]\tvalidation_0-mlogloss:0.248036\tvalidation_1-mlogloss:0.269284\n",
      "[185]\tvalidation_0-mlogloss:0.247649\tvalidation_1-mlogloss:0.268961\n",
      "[186]\tvalidation_0-mlogloss:0.247129\tvalidation_1-mlogloss:0.268516\n",
      "[187]\tvalidation_0-mlogloss:0.246708\tvalidation_1-mlogloss:0.268151\n",
      "[188]\tvalidation_0-mlogloss:0.246223\tvalidation_1-mlogloss:0.267722\n",
      "[189]\tvalidation_0-mlogloss:0.24521\tvalidation_1-mlogloss:0.266785\n",
      "[190]\tvalidation_0-mlogloss:0.244635\tvalidation_1-mlogloss:0.266258\n",
      "[191]\tvalidation_0-mlogloss:0.244184\tvalidation_1-mlogloss:0.265859\n",
      "[192]\tvalidation_0-mlogloss:0.243766\tvalidation_1-mlogloss:0.265493\n",
      "[193]\tvalidation_0-mlogloss:0.243346\tvalidation_1-mlogloss:0.265134\n",
      "[194]\tvalidation_0-mlogloss:0.242878\tvalidation_1-mlogloss:0.264719\n",
      "[195]\tvalidation_0-mlogloss:0.242186\tvalidation_1-mlogloss:0.264078\n",
      "[196]\tvalidation_0-mlogloss:0.241819\tvalidation_1-mlogloss:0.263775\n",
      "[197]\tvalidation_0-mlogloss:0.24149\tvalidation_1-mlogloss:0.263473\n",
      "[198]\tvalidation_0-mlogloss:0.24093\tvalidation_1-mlogloss:0.262976\n",
      "[199]\tvalidation_0-mlogloss:0.240557\tvalidation_1-mlogloss:0.262657\n",
      "Number of trees for best model: 200\n",
      "Model parameters: {'base_score': 0.5, 'booster': 'gbtree', 'colsample_bylevel': 1, 'colsample_bytree': 1, 'gamma': 0, 'learning_rate': 0.1, 'max_delta_step': 0, 'max_depth': 0, 'min_child_weight': 1, 'missing': None, 'n_estimators': 200, 'n_jobs': 1, 'nthread': None, 'objective': 'multi:softprob', 'random_state': 1234, 'reg_alpha': 0, 'reg_lambda': 1, 'scale_pos_weight': 1, 'seed': None, 'silent': True, 'subsample': 1, 'grow_policy': 'lossguide', 'eval_metric': 'mlogloss', 'num_class': 8, 'tree_method': 'gpu_hist', 'verbose': True, 'max_leaves': 64}\n",
      "CPU times: user 1min 22s, sys: 19.2 s, total: 1min 41s\n",
      "Wall time: 1min 41s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "###############################################\n",
    "#\n",
    "# GPU DEMO of feature importance\n",
    "#\n",
    "###############################################\n",
    "num_round_more = 200\n",
    "maxdepth_more = 6\n",
    "# SKLEARN GPU HIST LOSSGUIDE\n",
    "kwargs['tree_method'] = 'gpu_hist'\n",
    "kwargs['grow_policy'] = \"lossguide\"\n",
    "kwargs['max_depth'] = 0\n",
    "kwargs['max_leaves'] = np.power(2,maxdepth_more)\n",
    "kwargs['n_estimators'] = num_round_more\n",
    "kwargs['n_jobs'] = 1\n",
    "model = xgb.XGBClassifier(**kwargs)\n",
    "eval_set = [(X_train, y_train),(X_test, y_test)]\n",
    "model.fit(X=X_train, y=y_train, verbose=True, eval_set=eval_set, eval_metric=eval_metric, early_stopping_rounds=20)\n",
    "print(\"Number of trees for best model: %d\" % model.best_ntree_limit)\n",
    "print(\"Model parameters: %s\" % str(model.get_params()))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test Set Accuracy: 90.33%\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n7+OtL7tqVe+97777+PCHP8z+/fsBuOGGGxgcHGRubo7nP//5vPKVr+TKK6/8rvecOXOG5z73udxw\nww28+c1v5sYbb+T6669f8/dYrGIjRBFxE/Al4LKIOBQRb4iIn42Iny0e8g7g2RFxJ/CPwC+nlE5U\nKo8kSZKkfC666KJvlyGAm266iauvvpqrr76ae++9l3vuuedJ7+ns7OQlL3kJAM985jN5+OGHy56r\nYiNEKaVXnWf/YeCFlfp8SZIkqZGtdiSnUrq7u7/9/Jvf/Cbvete7+MpXvsLAwACvec1rzrl8dlvb\nd+7K09zczNxc+RelzjmHSJIkSVIDGhkZobe3l76+Po4cOcKnP/3pbFlyziGSJEmS1ICuvvpqrrzy\nSi6//HJ2797N937v92bLEinV1yrW+/fvTwcOHMgdQ5IkSao59957L1dccUXuGFV1ru8cEbellPYv\n8Zbv4iVzkiRJkhqWhUiSJElSw7IQSZIkSWpYFiJJkiRJDctCJEmSJKlhWYgkSZIkNSwLkSRJkqSy\nGB4eZt++fezbt4+tW7eyY8eOb7+emZkp+Tw33ngjR48erWDS7/DGrJIkSZLKYmhoiDvuuAOAt73t\nbfT09PCWt7xlxee58cYbufrqq9m6dWu5Iz6JhUiSJElSxX3oQx/ive99LzMzMzz72c/mPe95DwsL\nC1x77bXccccdpJS47rrr2LJlC3fccQc/8RM/QWdnJ1/5yldoa2urWC4LkSRJkrQefep6OHpnec+5\n9anwkhtW/La77rqLT3ziE3zxi1+kpaWF6667jo985CNcdNFFnDhxgjvvLOQ8ffo0AwMD/N7v/R7v\nec972LdvX3nzn4OFSJIkSVJFfeYzn+HWW29l//79AExOTnLBBRfwohe9iPvvv5+f//mf54d+6Id4\n4QtfWPVsFiJJkiRpPVrFSE6lpJR4/etfzzve8Y4n7fv617/Opz71Kd773vfysY99jA984ANVzeYq\nc5IkSZIq6gUveAEf/ehHOXHiBFBYje6RRx7h+PHjpJT48R//cd7+9rdz++23A9Db28vo6GhVsjlC\nJEmSJKminvrUp/LWt76VF7zgBSwsLNDa2sr73/9+mpubecMb3kBKiYjgne98JwDXXnstb3zjG6uy\nqEKklCp28krYv39/OnDgQO4YkiRJUs259957ueKKK3LHqKpzfeeIuC2ltL+U93vJ3GrNTcNtHyId\n+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\nRK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f6bc7219470>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nOznzzDMBmDBhAhkZGWRmZnLgwAGcc9SqVYslS5ZQp04d+vTpQ35+Pt988w1nnnkmRUVFPPnkk7Rv\n3z40H0BcXBxpaWkRsUJ0onxtiMwsDjjgnDsM3AwsCzZJIiIiIiIRo2fPngQCAfbs2UOjRo24//77\nCQQCZGdnY2YkJCTw1FNPAbB7924uv/xyqlSpQsOGDXn++ecBKCgo4Le//S2HDh2ipKSErKwsBgwY\nAMBrr73Gbbfdxp49e+jSpQupqan83//9n2/nezLx+5K5FsBzZuaADcAffK5HRERERCTsXnrpJaB0\n9e3Iis4f/nDsH40TEhLIzc09anv9+vX58MMPj3lMt27d6NatW8UUW8n40hA55xKCb78AmvpRg4iI\niIiIiF/PIRIREREREfGdGiIREREREYlYaohERERERCRiqSESEREREZGIpYZIREREpIL169ePevXq\nkZSUFNo2bNgwmjdvTqtWrejWrRv79u0L7Vu7di3nn38+iYmJJCcn8+233wLw8ssv06pVKxITExk+\nfHho/J133klqaiqpqak0bdqUuLi48J2cSCXjS0NkZoPNbJOZvWhmj5nZZjNba2at/ahHREREpCL1\n6dOHRYsWldvWoUMH1q9fz9q1a2natCkPP/wwAEVFRdxwww1MnTqVDRs2EAgEiI6OZu/evQwbNoy3\n336bDRs2sGvXLt5++22g9CGd2dnZZGdnc9ttt3HNNdeE/RxFKgu/VogGAh2AF4Fzg6/+wJM+1SMi\nIiJSYS6++GLq1KlTblvHjh2pWrX0iSft2rVjx44dACxevJhWrVqRkpICwOmnn05UVBRbtmzh3HPP\npW7dugBcdtllzJ0796jveumll+jZs6eXpyNSqYW9ITKzqUATYCHwGvA3V2oFEGdmZ4a7JhEREZFw\nmjFjBp07dwbg448/xsy4/PLLad26NY888ggA55xzDrm5ueTl5VFUVMQ//vEPtm/fXm6eTz75hK1b\nt3LppZeG/RxEKouwP5jVOTfAzDoBWcBMoOz/sncADYGdPzTHwcJiEka86VmNkWxIchF9lK0nlK13\nlK23lK93lK13/Mw2b2yXH9w/ZswYqlatSq9evYDSS+bee+89PvzwQ2rWrEn79u1JS0ujffv2PPnk\nk1x33XVUqVKFCy64gP/+97/l5po1axY9evQgKirKs/MRqezC3hD9VGbWn9LL6oiPr8vo5CKfK6qc\n6seU/p+IVDxl6x1l6y3l6x1l6x0/sw0EAgDs2rWLgoKC0GeARYsWMX/+fB599FHeffddAL7++mua\nNm3K+vXrAWjRogWzZ88mKiqKU045hb/85S8AzJ8/nxo1apSbb/r06dx+++3ltoVDfn5+2L8zUihb\nHzjnwv4C8oB44CmgZ5ntucCZxzu+adOmTrzxzjvv+F1CpaVsvaNsvaV8vaNsvXMyZLt161aXmJgY\n+rxw4ULXokULt3v37nLjvvzyS3feeee5goICV1hY6Nq3b+/eeOMN55xzn3/+eWhMSkqKy83NDR23\nadMm17hxY1dSUhKGsynvZMi3slK2FQdY5U6gN/F7heh1YJCZzQIygP3OuR+8XE5ERETkZNezZ08C\ngQBffPEFjRo14v777+fhhx/m0KFDdOjQASi9scLUqVM57bTTuOuuu2jTpg1mxhVXXEGXLqWX3d1+\n++3k5OQAMHr0aJo2bRr6jlmzZnH99ddjZuE/QZFKxO+GaAFwBbAZOAD09bccERERkZ/vpZdeOmrb\nH/7wh+8df8MNN3DDDTec0DxH3HfffT+pNhEpz5eGyDmXUObjrX7UICIiIiIi4tdziERERERERHyn\nhkhERERERCKWGiIREREREYlYaohERERERCRiqSESEREREZGIpYZIRKQC7du3jx49etC8eXNatGjB\nBx98wHXXXUdqaiqpqakkJCSQmpoKQF5eHjExMaF9AwYMAODAgQN06dKF5s2bk5iYyIgRI/w8JRER\nkUrNl9tum9lg4BbgDGA7UAIUAXc4597zoyYRkYpw++2306lTJ+bMmcPhw4c5cOAAL7/8cmj/kCFD\nqF27dujz2WefTXZ29lHzDB06lKysLA4fPkz79u1ZuHAhnTt3Dss5iIiIRBK/Hsw6ELgM2AcUOOec\nmbUCXgGa+1STiMjPsn//fpYtW8bMmTMBqFatGtWqVQvtd87xyiuvsHTp0h+cp2bNmmRlZYXmaN26\nNTt27PCsbhERkUgW9obIzKYCTYCFwAzn3ITgrlqAO5E5DhYWkzDiTY8qjGxDkovoo2w9oWy9czJk\nmze2C1u3bqVu3br07duXnJwc0tLSmDRpErVq1QJg+fLl1K9fn3PPPTd03NatWznvvPM49dRTefDB\nB7nooovKzbtv3z7mz5/P7bffHtbzERERiRTm3An1IBX7pWZ5QLpz7gsz6wY8DNQDujjnPvieY/oD\n/QHi4+umjZ44LVzlRpT6MfD5Qb+rqJyUrXdOhmyTG9YmNzeXgQMHMnnyZFq2bMnkyZOpVasW/fr1\nA2DChAk0bNiQa6+9FoDDhw9z8OBBatcuPXbUqFE8++yzoQaquLiYu+++mzZt2tCjRw/fzi0/P5/Y\n2Fjfvr8yU7beUbbeUr7eUbYVJysra7VzLv1443xviMpsuxgY7Zy77HjHn9XkHFfl2kkeVhi5hiQX\n8eg6v66krNyUrXdOhmzzxnZh165dtGvXjry8PKB0RWjs2LG8+eabFBUV0bBhQ1avXk2jRo2OOUdm\nZibjx48nPb30z+5+/foRGxvLY489Fq7TOKZAIEBmZqavNVRWytY7ytZbytc7yrbimNkJNUQnzU9n\nzrllZtbEzOLLNkrHEhMdRe7YLuEqLaIEAgHyemX6XUalpGy9c7Jke8YZZ/CrX/2K3NxcmjVrxttv\nv03Lli0BeOutt2jevHm5ZmjPnj3UqVOHqKgotmzZwn/+8x+aNGkCwD333MP+/fuZPn26L+ciIiIS\nKXxtiMzsHOC/wZsqtAaqA3v9rElE5OeYPHkyvXr14vDhwzRp0oRnn30WgFmzZtGzZ89yY5ctW8bo\n0aOJjo6mSpUqTJ06lTp16rBjxw7GjBlD8+bNad26NQCDBg3i5ptvDvv5iIiIVHZ+rxB1B24ys0Lg\nIHCd8+MaPhGRCpKamsqqVauO2n7kznNlde/ene7dux+1vVGjRuiPQhERkfDwpSFyziUE3/4l+BIR\nEREREQm7Kn4XICIiIiIi4hc1RCIiIiIiErHUEImIiIiISMRSQyQiIiIiIhFLDZGIVBoJCQkkJyeT\nmpoaerhpTk4O559/PsnJyVx55ZV8/fXXABw+fJi+ffuSnJxMSkoKgUAAgAMHDtClSxeaN29OYmIi\nI0aM8Ot0REREJAx8aYjMbLCZbTKzF4Of25hZkZn18KMeEak83nnnHbKzs0O3vr755psZO3Ys69at\no1u3bowbNw6AadOmAbBu3TqWLFnCkCFDKCkpAWDo0KF89NFHrFmzhn/+858sXLjQn5MRERERz/m1\nQjQQ6OCc62VmUZTeenuxT7WISCX28ccfc/HFFwPQoUMH5s6dC8DGjRu59NJLAahXrx5xcXGsWrWK\nmjVrkpWVBUC1atVo3bo1O3bs8Kd4ERER8VzYn0NkZlOBJsBCM5sBOGAu0OZE5zhYWEzCiDc9qjCy\nDUkuoo+y9YSy9c7MTrUAMDM6duyImfGnP/2J/v37k5iYyLx587j66quZPXs227dvByAlJYXXX3+d\nnj17sn37dlavXs327dtp27ZtaN59+/Yxf/58br/9dl/OS0RERLxnfjwN3czygHSgOvB3IAuYAbzh\nnJvzPcf0B/oDxMfXTRs9cVp4io0w9WPg84N+V1E5KVvv/Lp2FLGxsezZs4e6devy1VdfMXToUAYP\nHsxpp53G5MmT2b9/P7/5zW949dVXmTdvHsXFxUydOpU1a9ZQv359iouL6dq1KxdeeCEAxcXF3H33\n3bRp04YePSL7at78/HxiY2P9LqNSUrbeUbbeUr7eUbYVJysra7VzLv1448K+QvQdE4HhzrkSM/vB\ngc65p4GnAc5qco57dJ3fpVdOQ5KLULbeULbemdmpFpmZmeW25eTkUFhYyE033cRNN90ElF4+t2HD\nhtDY9u3bh8ZfcMEFXHPNNbRs2RKAfv36kZGRwWOPPRaWcziZBQKBo/KViqFsvaNsvaV8vaNsw8/v\nn87SgVnBZigeuMLMipxz//ihg2Kio8gd2yUc9UWcQCBAXq9Mv8uolJStdwKBAAUFBZSUlHDKKadQ\nUFDA4sWLGT16NLt376ZevXqUlJTw4IMPMmDAAKD0bnLOOWrVqsWSJUuoWrVqqBm655572L9/P9On\nT/fztERERCQMfG2InHO/PvLezGZSesncDzZDIiLH8vnnn9OtWzcAioqK+P3vf0+nTp2YNGkSjz/+\nOADXXHMNffv2BWD37t1cfvnlVKlShYYNG/L8888DsGPHDsaMGUPz5s1p3bo1AIMGDeLmm2/24axE\nRETEa36vEImIVIgmTZqQk5Nz1Pbbb7/9mDdFSEhIIDc396jtjRo1wo/frRQRERF/+NIQOecSjrGt\nT/grERERERGRSObXc4hERERERER8p4ZIREREREQilhoiERERERGJWGqIREREREQkYqkhEgmTw4cP\n07ZtW1JSUkhMTOTee+8FYOnSpbRu3ZqkpCR69+5NUVERAOPGjSM1NZXU1FSSkpKIioriyy+/BGDS\npEkkJSWRmJjIxIkTfTsnERERkV86XxoiMxtsZpvMrMDMsoOv9WZWbGZ1/KhJxGvR0dEsXbqUnJwc\nsrOzWbRoEe+//z69e/dm1qxZrF+/nsaNG/Pcc88BMGzYMLKzs8nOzubhhx/mkksuoU6dOqxfv55p\n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\ndOnShXr16rFq1aryubt37yYjI4O4uDhuvfXW2oosIiIiIiJfQbCnzJnZeOAWoCOwDjDgc+AWd8+J\nzmkOzAa6Ag780N1fD5XpeKxcuZL4+Pjy/a5du/Liiy8yevToSvNOO+00fv7zn7N+/XrWr18f65gi\nIiIiInICQj52ewxwOdAW2Ojue8zsCmAW0DM6Zwaw1N2vM7NGwBkB85yQTp06VTl+5pln0rt376O+\np0hERERERE5OQRoiM5sJJAIvA3Pc/R/RQ28AbaJzmgGXACMB3P0AcKA65y8sKiHh7iU1nBpys/oT\nzUbfvn0xM0aPHk1mZmaNf5aIiIiIiNS+IA2Ru99sZv2ADHffVeHQTZQ1SQDtgJ3A78wsBVgN3Obu\nBSEyHY9XX32V1q1bs2PHDvr06UPHjh255JJLajuWiIiIiIjUsJC3zFViZhmUNUS9K3z2RcA4d3/T\nzGYAdwP3HWF9JpAJEB/fgklJxTWeMRKJlG9v3rwZgG7duvHMM89QWloKwN69e1m9ejX5+fmV1r7/\n/vvk5eVVOsepKD8//5T/Dicr1TYc1TYs1Tcc1TYc1TYs1Tcc1Tb2YtIQmVkyZQ9PuMLdd0eHtwHb\n3P3N6P4LlDVEVXL3WZT9/ogOHTr4uOFXBclaUFBAaWkpTZo0oaCggJ/+9KdMmjSJ9PR0AJo3b073\n7t3Lnz53UG5uLvn5+eXzTlWRSOSU/w4nK9U2HNU2LNU3HNU2HNU2LNU3HNU29oI3RGbWFngR+G93\n/+DguLv/PzPbamYd3H0TcBmwIXSeY9m+fTuDBg0CoLi4mGHDhtGvXz8WLFjAuHHj2LlzJ/379yc1\nNZW//OUvQNljuvft28eBAwdYuHAh2dnZdO7cuTa/hoiIiIiIVEMsrhBNAs4Gfm1mAMXufvDyyjjg\n6egT5v4J3BiDPEeVmJhITk7OYeODBg0qb5QOlZubGziViIiIiIiEEKwhcveE6Oao6F9Vc9YCaVUd\nExERERERCa1ebQcQERERERGpLWqIRERERESkzlJDJCIiIiIidZYaIhERERERqbPUEB0iISGBpKQk\nUlNTy9819H//93/06dOHCy64gD59+rBnzx4AFi1aRHJycvncV199tTaji4iIiIjIcQrWEJnZeDPb\naGbzzex1M/vSzCYcMifXzNaZ2VozWxUqy/FauXIla9euZdWqskhZWVlcdtllbN68mcsuu4ysrCwA\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f6af9f35080>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "###############################################\n",
    "#\n",
    "# GPU DEMO of feature importance\n",
    "#\n",
    "###############################################\n",
    "# Prediction\n",
    "y_pred = model.predict(X_test)\n",
    "predictions = [round(value) for value in y_pred]\n",
    "# evaluate predictions\n",
    "from sklearn.metrics import accuracy_score\n",
    "accuracy = accuracy_score(y_test, predictions)\n",
    "print(\"Test Set Accuracy: %.2f%%\" % (accuracy * 100.0))\n",
    "\n",
    "# Retrieve performance metrics\n",
    "import matplotlib.pyplot as plt\n",
    "results = model.evals_result()\n",
    "epochs = len(results['validation_0']['mlogloss'])\n",
    "x_axis = range(0, epochs)\n",
    "# plot log loss\n",
    "fig, ax = plt.subplots(figsize=(14, 14))\n",
    "ax.plot(x_axis, results['validation_0']['mlogloss'], label='Train')\n",
    "ax.plot(x_axis, results['validation_1']['mlogloss'], label='Test')\n",
    "ax.legend()\n",
    "plt.ylabel('Multi-Class LogLoss')\n",
    "plt.title('XGBoost Multi-Class LogLoss')\n",
    "plt.show()\n",
    "\n",
    "# plot feature importance using built-in function\n",
    "from xgboost import plot_importance\n",
    "# plot feature importance\n",
    "fig, ax = plt.subplots(figsize=(14, 14))\n",
    "plot_importance(model, ax=ax)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "# new version using xgbfi-C++\n",
    "def calc_varimp(context, model, columns, how_many, n_trees, from_depth, to_depth, **kwargs):\n",
    "    t0 = time.time()\n",
    "    booster = model._Booster\n",
    "    booster.feature_names = columns\n",
    "\n",
    "    max_xgbfi_tree_depth = 7\n",
    "    max_xgbfi_tree_deepening = -1\n",
    "\n",
    "    params = model.get_params()\n",
    "    n_jobs = params['n_jobs']\n",
    "    print(\"n_jobs=%d\" % n_jobs)\n",
    "    df_imp = booster.get_feature_interactions(to_depth,\n",
    "                                              max_xgbfi_tree_depth,\n",
    "                                              max_xgbfi_tree_deepening,\n",
    "                                              n_trees,\n",
    "                                              nthread=n_jobs)\n",
    "    if df_imp.shape[0] == 0:\n",
    "        df_imp = try_calc_varimp_gblinear(booster=booster, columns=columns, **kwargs)\n",
    "\n",
    "    if df_imp.shape[0] == 0:\n",
    "        df_imp['fi'] = columns\n",
    "        df_imp['fi_depth'] = 0\n",
    "        df_imp['gain'] = 1.0\n",
    "\n",
    "    depth_from_to = (from_depth <= df_imp.fi_depth) & (df_imp.fi_depth <= to_depth)\n",
    "    df_imp = df_imp[['fi', 'fi_depth', 'gain']].loc[depth_from_to].reset_index(drop=True)\n",
    "    df_imp['fi_depth'] = df_imp['fi_depth'].astype(int)\n",
    "\n",
    "    df_imp_feats = df_imp.loc[df_imp.fi_depth == 0, 'fi'].values\n",
    "    missing_feats = np.setdiff1d(columns, df_imp_feats)\n",
    "    if len(missing_feats) > 0 and from_depth == 0:\n",
    "        df_missing_feats = pd.DataFrame()\n",
    "        df_missing_feats['fi'] = missing_feats\n",
    "        df_missing_feats['fi_depth'] = 0\n",
    "        df_missing_feats['gain'] = 0.0\n",
    "        df_imp = pd.concat((df_imp, df_missing_feats)) \\\n",
    "            .sort_values(by=['fi_depth', 'gain'], ascending=[True, False]) \\\n",
    "            .reset_index(drop=True)\n",
    "\n",
    "    df_grp = df_imp.groupby('fi_depth')\n",
    "    df_imp['gain'] = df_grp['gain'].transform(lambda x: (x / x.max()))\n",
    "    df_imp = df_grp.head(how_many).reset_index(drop=True)\n",
    "    df_imp.columns = ['Interaction', 'Depth', 'Gain']\n",
    "\n",
    "    t1 = time.time()\n",
    "    return df_imp\n",
    "\n",
    "\n",
    "def try_calc_varimp_gblinear(booster, columns, **kwargs):\n",
    "    df_imp = pd.DataFrame()\n",
    "    dump = booster.get_dump()[0]\n",
    "    if 'weight:' not in dump:\n",
    "        return df_imp\n",
    "    n_models = len(dump.split('\\nweight:')[0].split('\\n')[1:])\n",
    "    imp = []\n",
    "    for w in dump.split('\\n')[2 + n_models:-1]:\n",
    "        imp.append(abs(np.float(\"{:.6f}\".format(float(w)))))\n",
    "    imp = np.array(imp).reshape((-1, n_models)).mean(axis=1)\n",
    "    df_imp['fi'] = columns\n",
    "    df_imp['fi_depth'] = 0\n",
    "    df_imp['gain'] = imp\n",
    "    df_imp = df_imp.sort_values(by='gain', ascending=False).reset_index(drop=True)\n",
    "    return df_imp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "n_jobs=1\n"
     ]
    }
   ],
   "source": [
    "context=None\n",
    "import pandas as pd\n",
    "pd_X_train = pd.DataFrame(X_train)\n",
    "booster = model._Booster\n",
    "#booster.feature_names = [x for x in str(pd_X_train.columns.values)]\n",
    "booster.feature_names = [\"c\"+str(x) for x in pd_X_train.columns.values]\n",
    "kwargs = {}\n",
    "# params: context, model, columns, N, n_trees, from_depth, to_depth, **kwargs)\n",
    "Nimportance = 450\n",
    "Ntrees = model.best_ntree_limit\n",
    "from_depth = 0\n",
    "to_depth = maxdepth\n",
    "imp_features = calc_varimp(context, model, booster.feature_names, Nimportance, Ntrees, from_depth, to_depth, **kwargs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Interaction</th>\n",
       "      <th>Depth</th>\n",
       "      <th>Gain</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>c0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>c5</td>\n",
       "      <td>0</td>\n",
       "      <td>0.085081</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>c9</td>\n",
       "      <td>0</td>\n",
       "      <td>0.077228</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>c3</td>\n",
       "      <td>0</td>\n",
       "      <td>0.055089</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>c10</td>\n",
       "      <td>0</td>\n",
       "      <td>0.037898</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>c7</td>\n",
       "      <td>0</td>\n",
       "      <td>0.026054</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>c17</td>\n",
       "      <td>0</td>\n",
       "      <td>0.023362</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>c12</td>\n",
       "      <td>0</td>\n",
       "      <td>0.022337</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>c15</td>\n",
       "      <td>0</td>\n",
       "      <td>0.021632</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>c45</td>\n",
       "      <td>0</td>\n",
       "      <td>0.019435</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>c4</td>\n",
       "      <td>0</td>\n",
       "      <td>0.019321</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>c6</td>\n",
       "      <td>0</td>\n",
       "      <td>0.014693</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>c35</td>\n",
       "      <td>0</td>\n",
       "      <td>0.014212</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>c52</td>\n",
       "      <td>0</td>\n",
       "      <td>0.011671</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>c1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.011149</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>c36</td>\n",
       "      <td>0</td>\n",
       "      <td>0.007970</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>c42</td>\n",
       "      <td>0</td>\n",
       "      <td>0.006833</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>c44</td>\n",
       "      <td>0</td>\n",
       "      <td>0.006640</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>c16</td>\n",
       "      <td>0</td>\n",
       "      <td>0.006489</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>c51</td>\n",
       "      <td>0</td>\n",
       "      <td>0.006361</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>c25</td>\n",
       "      <td>0</td>\n",
       "      <td>0.006330</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>c11</td>\n",
       "      <td>0</td>\n",
       "      <td>0.005631</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>c23</td>\n",
       "      <td>0</td>\n",
       "      <td>0.005290</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>c46</td>\n",
       "      <td>0</td>\n",
       "      <td>0.004761</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>c8</td>\n",
       "      <td>0</td>\n",
       "      <td>0.004524</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>c43</td>\n",
       "      <td>0</td>\n",
       "      <td>0.004103</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>c30</td>\n",
       "      <td>0</td>\n",
       "      <td>0.003057</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>c24</td>\n",
       "      <td>0</td>\n",
       "      <td>0.003046</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>c2</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002411</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>c26</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002094</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>c48</td>\n",
       "      <td>0</td>\n",
       "      <td>0.001951</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>c33</td>\n",
       "      <td>0</td>\n",
       "      <td>0.001648</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>c37</td>\n",
       "      <td>0</td>\n",
       "      <td>0.001328</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>c53</td>\n",
       "      <td>0</td>\n",
       "      <td>0.001128</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>c22</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000820</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>c40</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000520</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>c19</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000409</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>c34</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000407</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>c47</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000404</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>c18</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000372</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>c50</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000290</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>c31</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000231</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>c13</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000173</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>c27</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000085</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>c32</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000057</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>c14</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000040</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>c39</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000026</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>c29</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>c20</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>c21</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50</th>\n",
       "      <td>c28</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>c38</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>52</th>\n",
       "      <td>c41</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>53</th>\n",
       "      <td>c49</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Interaction  Depth      Gain\n",
       "0           c0      0  1.000000\n",
       "1           c5      0  0.085081\n",
       "2           c9      0  0.077228\n",
       "3           c3      0  0.055089\n",
       "4          c10      0  0.037898\n",
       "5           c7      0  0.026054\n",
       "6          c17      0  0.023362\n",
       "7          c12      0  0.022337\n",
       "8          c15      0  0.021632\n",
       "9          c45      0  0.019435\n",
       "10          c4      0  0.019321\n",
       "11          c6      0  0.014693\n",
       "12         c35      0  0.014212\n",
       "13         c52      0  0.011671\n",
       "14          c1      0  0.011149\n",
       "15         c36      0  0.007970\n",
       "16         c42      0  0.006833\n",
       "17         c44      0  0.006640\n",
       "18         c16      0  0.006489\n",
       "19         c51      0  0.006361\n",
       "20         c25      0  0.006330\n",
       "21         c11      0  0.005631\n",
       "22         c23      0  0.005290\n",
       "23         c46      0  0.004761\n",
       "24          c8      0  0.004524\n",
       "25         c43      0  0.004103\n",
       "26         c30      0  0.003057\n",
       "27         c24      0  0.003046\n",
       "28          c2      0  0.002411\n",
       "29         c26      0  0.002094\n",
       "30         c48      0  0.001951\n",
       "31         c33      0  0.001648\n",
       "32         c37      0  0.001328\n",
       "33         c53      0  0.001128\n",
       "34         c22      0  0.000820\n",
       "35         c40      0  0.000520\n",
       "36         c19      0  0.000409\n",
       "37         c34      0  0.000407\n",
       "38         c47      0  0.000404\n",
       "39         c18      0  0.000372\n",
       "40         c50      0  0.000290\n",
       "41         c31      0  0.000231\n",
       "42         c13      0  0.000173\n",
       "43         c27      0  0.000085\n",
       "44         c32      0  0.000057\n",
       "45         c14      0  0.000040\n",
       "46         c39      0  0.000026\n",
       "47         c29      0  0.000018\n",
       "48         c20      0  0.000000\n",
       "49         c21      0  0.000000\n",
       "50         c28      0  0.000000\n",
       "51         c38      0  0.000000\n",
       "52         c41      0  0.000000\n",
       "53         c49      0  0.000000"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "imp_features[imp_features.Depth==0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Interaction</th>\n",
       "      <th>Depth</th>\n",
       "      <th>Gain</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>54</th>\n",
       "      <td>c0|c0</td>\n",
       "      <td>1</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>55</th>\n",
       "      <td>c0|c10</td>\n",
       "      <td>1</td>\n",
       "      <td>0.243162</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56</th>\n",
       "      <td>c0|c15</td>\n",
       "      <td>1</td>\n",
       "      <td>0.109259</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>57</th>\n",
       "      <td>c0|c3</td>\n",
       "      <td>1</td>\n",
       "      <td>0.103762</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58</th>\n",
       "      <td>c0|c17</td>\n",
       "      <td>1</td>\n",
       "      <td>0.097235</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>59</th>\n",
       "      <td>c0|c5</td>\n",
       "      <td>1</td>\n",
       "      <td>0.073638</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60</th>\n",
       "      <td>c5|c9</td>\n",
       "      <td>1</td>\n",
       "      <td>0.067373</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>61</th>\n",
       "      <td>c0|c52</td>\n",
       "      <td>1</td>\n",
       "      <td>0.066638</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>62</th>\n",
       "      <td>c0|c12</td>\n",
       "      <td>1</td>\n",
       "      <td>0.042711</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63</th>\n",
       "      <td>c0|c7</td>\n",
       "      <td>1</td>\n",
       "      <td>0.031481</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>64</th>\n",
       "      <td>c15|c17</td>\n",
       "      <td>1</td>\n",
       "      <td>0.028207</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>65</th>\n",
       "      <td>c3|c7</td>\n",
       "      <td>1</td>\n",
       "      <td>0.027846</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>66</th>\n",
       "      <td>c0|c9</td>\n",
       "      <td>1</td>\n",
       "      <td>0.027731</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>67</th>\n",
       "      <td>c0|c6</td>\n",
       "      <td>1</td>\n",
       "      <td>0.025181</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>68</th>\n",
       "      <td>c0|c35</td>\n",
       "      <td>1</td>\n",
       "      <td>0.020753</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69</th>\n",
       "      <td>c3|c9</td>\n",
       "      <td>1</td>\n",
       "      <td>0.018145</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>70</th>\n",
       "      <td>c3|c5</td>\n",
       "      <td>1</td>\n",
       "      <td>0.018025</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>71</th>\n",
       "      <td>c0|c4</td>\n",
       "      <td>1</td>\n",
       "      <td>0.017347</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>72</th>\n",
       "      <td>c45|c5</td>\n",
       "      <td>1</td>\n",
       "      <td>0.016107</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73</th>\n",
       "      <td>c5|c5</td>\n",
       "      <td>1</td>\n",
       "      <td>0.015890</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>74</th>\n",
       "      <td>c9|c9</td>\n",
       "      <td>1</td>\n",
       "      <td>0.015072</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75</th>\n",
       "      <td>c5|c6</td>\n",
       "      <td>1</td>\n",
       "      <td>0.013259</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>76</th>\n",
       "      <td>c5|c7</td>\n",
       "      <td>1</td>\n",
       "      <td>0.013100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>77</th>\n",
       "      <td>c10|c17</td>\n",
       "      <td>1</td>\n",
       "      <td>0.012532</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>78</th>\n",
       "      <td>c0|c45</td>\n",
       "      <td>1</td>\n",
       "      <td>0.012289</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>79</th>\n",
       "      <td>c4|c9</td>\n",
       "      <td>1</td>\n",
       "      <td>0.011677</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>80</th>\n",
       "      <td>c12|c45</td>\n",
       "      <td>1</td>\n",
       "      <td>0.011552</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>81</th>\n",
       "      <td>c0|c23</td>\n",
       "      <td>1</td>\n",
       "      <td>0.011488</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>82</th>\n",
       "      <td>c51|c52</td>\n",
       "      <td>1</td>\n",
       "      <td>0.010988</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>83</th>\n",
       "      <td>c10|c46</td>\n",
       "      <td>1</td>\n",
       "      <td>0.010905</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>411</th>\n",
       "      <td>c2|c8</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>412</th>\n",
       "      <td>c15|c8</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>413</th>\n",
       "      <td>c18|c2</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000030</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>414</th>\n",
       "      <td>c17|c23</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000029</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>415</th>\n",
       "      <td>c6|c6</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000029</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>416</th>\n",
       "      <td>c0|c14</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000029</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>417</th>\n",
       "      <td>c14|c3</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000029</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>418</th>\n",
       "      <td>c14|c9</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000028</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>419</th>\n",
       "      <td>c2|c30</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000027</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>420</th>\n",
       "      <td>c44|c45</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000027</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>421</th>\n",
       "      <td>c29|c6</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000027</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>422</th>\n",
       "      <td>c19|c5</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000026</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>423</th>\n",
       "      <td>c4|c45</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000025</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>424</th>\n",
       "      <td>c12|c8</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000023</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>425</th>\n",
       "      <td>c2|c7</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>426</th>\n",
       "      <td>c14|c6</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000021</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>427</th>\n",
       "      <td>c16|c7</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000019</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>428</th>\n",
       "      <td>c8|c8</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000017</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>429</th>\n",
       "      <td>c16|c44</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000017</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>430</th>\n",
       "      <td>c27|c44</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>431</th>\n",
       "      <td>c14|c19</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000014</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>432</th>\n",
       "      <td>c12|c27</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000011</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>433</th>\n",
       "      <td>c23|c8</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000011</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>434</th>\n",
       "      <td>c29|c9</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000008</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>435</th>\n",
       "      <td>c0|c29</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000008</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>436</th>\n",
       "      <td>c23|c7</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000008</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>437</th>\n",
       "      <td>c1|c19</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000007</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>438</th>\n",
       "      <td>c2|c29</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000006</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>439</th>\n",
       "      <td>c1|c18</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000005</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>440</th>\n",
       "      <td>c27|c6</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000005</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>387 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    Interaction  Depth      Gain\n",
       "54        c0|c0      1  1.000000\n",
       "55       c0|c10      1  0.243162\n",
       "56       c0|c15      1  0.109259\n",
       "57        c0|c3      1  0.103762\n",
       "58       c0|c17      1  0.097235\n",
       "59        c0|c5      1  0.073638\n",
       "60        c5|c9      1  0.067373\n",
       "61       c0|c52      1  0.066638\n",
       "62       c0|c12      1  0.042711\n",
       "63        c0|c7      1  0.031481\n",
       "64      c15|c17      1  0.028207\n",
       "65        c3|c7      1  0.027846\n",
       "66        c0|c9      1  0.027731\n",
       "67        c0|c6      1  0.025181\n",
       "68       c0|c35      1  0.020753\n",
       "69        c3|c9      1  0.018145\n",
       "70        c3|c5      1  0.018025\n",
       "71        c0|c4      1  0.017347\n",
       "72       c45|c5      1  0.016107\n",
       "73        c5|c5      1  0.015890\n",
       "74        c9|c9      1  0.015072\n",
       "75        c5|c6      1  0.013259\n",
       "76        c5|c7      1  0.013100\n",
       "77      c10|c17      1  0.012532\n",
       "78       c0|c45      1  0.012289\n",
       "79        c4|c9      1  0.011677\n",
       "80      c12|c45      1  0.011552\n",
       "81       c0|c23      1  0.011488\n",
       "82      c51|c52      1  0.010988\n",
       "83      c10|c46      1  0.010905\n",
       "..          ...    ...       ...\n",
       "411       c2|c8      1  0.000031\n",
       "412      c15|c8      1  0.000031\n",
       "413      c18|c2      1  0.000030\n",
       "414     c17|c23      1  0.000029\n",
       "415       c6|c6      1  0.000029\n",
       "416      c0|c14      1  0.000029\n",
       "417      c14|c3      1  0.000029\n",
       "418      c14|c9      1  0.000028\n",
       "419      c2|c30      1  0.000027\n",
       "420     c44|c45      1  0.000027\n",
       "421      c29|c6      1  0.000027\n",
       "422      c19|c5      1  0.000026\n",
       "423      c4|c45      1  0.000025\n",
       "424      c12|c8      1  0.000023\n",
       "425       c2|c7      1  0.000022\n",
       "426      c14|c6      1  0.000021\n",
       "427      c16|c7      1  0.000019\n",
       "428       c8|c8      1  0.000017\n",
       "429     c16|c44      1  0.000017\n",
       "430     c27|c44      1  0.000016\n",
       "431     c14|c19      1  0.000014\n",
       "432     c12|c27      1  0.000011\n",
       "433      c23|c8      1  0.000011\n",
       "434      c29|c9      1  0.000008\n",
       "435      c0|c29      1  0.000008\n",
       "436      c23|c7      1  0.000008\n",
       "437      c1|c19      1  0.000007\n",
       "438      c2|c29      1  0.000006\n",
       "439      c1|c18      1  0.000005\n",
       "440      c27|c6      1  0.000005\n",
       "\n",
       "[387 rows x 3 columns]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "imp_features[imp_features.Depth==1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0]\tvalidation_0-mlogloss:1.74432\tvalidation_1-mlogloss:1.74526\n",
      "Multiple eval metrics have been passed: 'validation_1-mlogloss' will be used for early stopping.\n",
      "\n",
      "Will train until validation_1-mlogloss hasn't improved in 20 rounds.\n",
      "[1]\tvalidation_0-mlogloss:1.58936\tvalidation_1-mlogloss:1.59115\n",
      "[2]\tvalidation_0-mlogloss:1.46402\tvalidation_1-mlogloss:1.46653\n",
      "[3]\tvalidation_0-mlogloss:1.35969\tvalidation_1-mlogloss:1.36288\n",
      "[4]\tvalidation_0-mlogloss:1.26963\tvalidation_1-mlogloss:1.2733\n",
      "[5]\tvalidation_0-mlogloss:1.19082\tvalidation_1-mlogloss:1.19497\n",
      "[6]\tvalidation_0-mlogloss:1.12219\tvalidation_1-mlogloss:1.12667\n",
      "[7]\tvalidation_0-mlogloss:1.0616\tvalidation_1-mlogloss:1.06654\n",
      "[8]\tvalidation_0-mlogloss:1.00737\tvalidation_1-mlogloss:1.01277\n",
      "[9]\tvalidation_0-mlogloss:0.958995\tvalidation_1-mlogloss:0.964607\n",
      "[10]\tvalidation_0-mlogloss:0.915855\tvalidation_1-mlogloss:0.921777\n",
      "[11]\tvalidation_0-mlogloss:0.87635\tvalidation_1-mlogloss:0.882506\n",
      "[12]\tvalidation_0-mlogloss:0.840865\tvalidation_1-mlogloss:0.847256\n",
      "[13]\tvalidation_0-mlogloss:0.80823\tvalidation_1-mlogloss:0.814852\n",
      "[14]\tvalidation_0-mlogloss:0.778172\tvalidation_1-mlogloss:0.785037\n",
      "[15]\tvalidation_0-mlogloss:0.750764\tvalidation_1-mlogloss:0.757807\n",
      "[16]\tvalidation_0-mlogloss:0.725233\tvalidation_1-mlogloss:0.732593\n",
      "[17]\tvalidation_0-mlogloss:0.702553\tvalidation_1-mlogloss:0.710054\n",
      "[18]\tvalidation_0-mlogloss:0.681481\tvalidation_1-mlogloss:0.689158\n",
      "[19]\tvalidation_0-mlogloss:0.661861\tvalidation_1-mlogloss:0.669772\n",
      "[20]\tvalidation_0-mlogloss:0.643686\tvalidation_1-mlogloss:0.651673\n",
      "[21]\tvalidation_0-mlogloss:0.62742\tvalidation_1-mlogloss:0.635593\n",
      "[22]\tvalidation_0-mlogloss:0.611822\tvalidation_1-mlogloss:0.62023\n",
      "[23]\tvalidation_0-mlogloss:0.596918\tvalidation_1-mlogloss:0.605538\n",
      "[24]\tvalidation_0-mlogloss:0.583142\tvalidation_1-mlogloss:0.591981\n",
      "[25]\tvalidation_0-mlogloss:0.570666\tvalidation_1-mlogloss:0.579726\n",
      "[26]\tvalidation_0-mlogloss:0.558932\tvalidation_1-mlogloss:0.568169\n",
      "[27]\tvalidation_0-mlogloss:0.547644\tvalidation_1-mlogloss:0.556948\n",
      "[28]\tvalidation_0-mlogloss:0.537319\tvalidation_1-mlogloss:0.546733\n",
      "[29]\tvalidation_0-mlogloss:0.527334\tvalidation_1-mlogloss:0.53688\n",
      "[30]\tvalidation_0-mlogloss:0.518266\tvalidation_1-mlogloss:0.527979\n",
      "[31]\tvalidation_0-mlogloss:0.509277\tvalidation_1-mlogloss:0.519162\n",
      "[32]\tvalidation_0-mlogloss:0.500945\tvalidation_1-mlogloss:0.511016\n",
      "[33]\tvalidation_0-mlogloss:0.493047\tvalidation_1-mlogloss:0.503314\n",
      "[34]\tvalidation_0-mlogloss:0.485601\tvalidation_1-mlogloss:0.495958\n",
      "[35]\tvalidation_0-mlogloss:0.478284\tvalidation_1-mlogloss:0.488698\n",
      "[36]\tvalidation_0-mlogloss:0.471421\tvalidation_1-mlogloss:0.481928\n",
      "[37]\tvalidation_0-mlogloss:0.464697\tvalidation_1-mlogloss:0.475361\n",
      "[38]\tvalidation_0-mlogloss:0.458669\tvalidation_1-mlogloss:0.469503\n",
      "[39]\tvalidation_0-mlogloss:0.452964\tvalidation_1-mlogloss:0.463967\n",
      "[40]\tvalidation_0-mlogloss:0.447448\tvalidation_1-mlogloss:0.458588\n",
      "[41]\tvalidation_0-mlogloss:0.442249\tvalidation_1-mlogloss:0.453513\n",
      "[42]\tvalidation_0-mlogloss:0.437262\tvalidation_1-mlogloss:0.448584\n",
      "[43]\tvalidation_0-mlogloss:0.432346\tvalidation_1-mlogloss:0.443713\n",
      "[44]\tvalidation_0-mlogloss:0.427798\tvalidation_1-mlogloss:0.439284\n",
      "[45]\tvalidation_0-mlogloss:0.42368\tvalidation_1-mlogloss:0.435208\n",
      "[46]\tvalidation_0-mlogloss:0.41949\tvalidation_1-mlogloss:0.431136\n",
      "[47]\tvalidation_0-mlogloss:0.41566\tvalidation_1-mlogloss:0.427383\n",
      "[48]\tvalidation_0-mlogloss:0.4119\tvalidation_1-mlogloss:0.423719\n",
      "[49]\tvalidation_0-mlogloss:0.408421\tvalidation_1-mlogloss:0.420294\n",
      "[50]\tvalidation_0-mlogloss:0.404839\tvalidation_1-mlogloss:0.416801\n",
      "[51]\tvalidation_0-mlogloss:0.401061\tvalidation_1-mlogloss:0.4131\n",
      "[52]\tvalidation_0-mlogloss:0.398048\tvalidation_1-mlogloss:0.410155\n",
      "[53]\tvalidation_0-mlogloss:0.395016\tvalidation_1-mlogloss:0.407222\n",
      "[54]\tvalidation_0-mlogloss:0.391926\tvalidation_1-mlogloss:0.404201\n",
      "[55]\tvalidation_0-mlogloss:0.38883\tvalidation_1-mlogloss:0.401197\n",
      "[56]\tvalidation_0-mlogloss:0.386046\tvalidation_1-mlogloss:0.398461\n",
      "[57]\tvalidation_0-mlogloss:0.383235\tvalidation_1-mlogloss:0.395729\n",
      "[58]\tvalidation_0-mlogloss:0.380591\tvalidation_1-mlogloss:0.393221\n",
      "[59]\tvalidation_0-mlogloss:0.377445\tvalidation_1-mlogloss:0.390146\n",
      "[60]\tvalidation_0-mlogloss:0.375096\tvalidation_1-mlogloss:0.387854\n",
      "[61]\tvalidation_0-mlogloss:0.372653\tvalidation_1-mlogloss:0.385463\n",
      "[62]\tvalidation_0-mlogloss:0.370127\tvalidation_1-mlogloss:0.383056\n",
      "[63]\tvalidation_0-mlogloss:0.367754\tvalidation_1-mlogloss:0.380792\n",
      "[64]\tvalidation_0-mlogloss:0.365834\tvalidation_1-mlogloss:0.378951\n",
      "[65]\tvalidation_0-mlogloss:0.363329\tvalidation_1-mlogloss:0.376546\n",
      "[66]\tvalidation_0-mlogloss:0.361195\tvalidation_1-mlogloss:0.374494\n",
      "[67]\tvalidation_0-mlogloss:0.358824\tvalidation_1-mlogloss:0.37216\n",
      "[68]\tvalidation_0-mlogloss:0.356835\tvalidation_1-mlogloss:0.370277\n",
      "[69]\tvalidation_0-mlogloss:0.354815\tvalidation_1-mlogloss:0.368358\n",
      "[70]\tvalidation_0-mlogloss:0.35258\tvalidation_1-mlogloss:0.366234\n",
      "[71]\tvalidation_0-mlogloss:0.350585\tvalidation_1-mlogloss:0.364319\n",
      "[72]\tvalidation_0-mlogloss:0.348637\tvalidation_1-mlogloss:0.362462\n",
      "[73]\tvalidation_0-mlogloss:0.346607\tvalidation_1-mlogloss:0.36052\n",
      "[74]\tvalidation_0-mlogloss:0.344936\tvalidation_1-mlogloss:0.358916\n",
      "[75]\tvalidation_0-mlogloss:0.342933\tvalidation_1-mlogloss:0.356984\n",
      "[76]\tvalidation_0-mlogloss:0.341024\tvalidation_1-mlogloss:0.355135\n",
      "[77]\tvalidation_0-mlogloss:0.339288\tvalidation_1-mlogloss:0.353493\n",
      "[78]\tvalidation_0-mlogloss:0.337518\tvalidation_1-mlogloss:0.351824\n",
      "[79]\tvalidation_0-mlogloss:0.33592\tvalidation_1-mlogloss:0.350314\n",
      "[80]\tvalidation_0-mlogloss:0.334659\tvalidation_1-mlogloss:0.349134\n",
      "[81]\tvalidation_0-mlogloss:0.333187\tvalidation_1-mlogloss:0.347734\n",
      "[82]\tvalidation_0-mlogloss:0.331761\tvalidation_1-mlogloss:0.34637\n",
      "[83]\tvalidation_0-mlogloss:0.330102\tvalidation_1-mlogloss:0.344827\n",
      "[84]\tvalidation_0-mlogloss:0.328545\tvalidation_1-mlogloss:0.343343\n",
      "[85]\tvalidation_0-mlogloss:0.326907\tvalidation_1-mlogloss:0.341783\n",
      "[86]\tvalidation_0-mlogloss:0.325589\tvalidation_1-mlogloss:0.340544\n",
      "[87]\tvalidation_0-mlogloss:0.324222\tvalidation_1-mlogloss:0.33927\n",
      "[88]\tvalidation_0-mlogloss:0.323033\tvalidation_1-mlogloss:0.338182\n",
      "[89]\tvalidation_0-mlogloss:0.321812\tvalidation_1-mlogloss:0.337004\n",
      "[90]\tvalidation_0-mlogloss:0.320748\tvalidation_1-mlogloss:0.336008\n",
      "[91]\tvalidation_0-mlogloss:0.319474\tvalidation_1-mlogloss:0.334795\n",
      "[92]\tvalidation_0-mlogloss:0.318111\tvalidation_1-mlogloss:0.333504\n",
      "[93]\tvalidation_0-mlogloss:0.316916\tvalidation_1-mlogloss:0.332362\n",
      "[94]\tvalidation_0-mlogloss:0.315618\tvalidation_1-mlogloss:0.331158\n",
      "[95]\tvalidation_0-mlogloss:0.314338\tvalidation_1-mlogloss:0.329959\n",
      "[96]\tvalidation_0-mlogloss:0.313242\tvalidation_1-mlogloss:0.328962\n",
      "[97]\tvalidation_0-mlogloss:0.311973\tvalidation_1-mlogloss:0.327782\n",
      "[98]\tvalidation_0-mlogloss:0.310984\tvalidation_1-mlogloss:0.326819\n",
      "[99]\tvalidation_0-mlogloss:0.309806\tvalidation_1-mlogloss:0.325693\n",
      "[100]\tvalidation_0-mlogloss:0.308603\tvalidation_1-mlogloss:0.324535\n",
      "[101]\tvalidation_0-mlogloss:0.307578\tvalidation_1-mlogloss:0.323598\n",
      "[102]\tvalidation_0-mlogloss:0.306517\tvalidation_1-mlogloss:0.322612\n",
      "[103]\tvalidation_0-mlogloss:0.305426\tvalidation_1-mlogloss:0.321585\n",
      "[104]\tvalidation_0-mlogloss:0.304337\tvalidation_1-mlogloss:0.320553\n",
      "[105]\tvalidation_0-mlogloss:0.303317\tvalidation_1-mlogloss:0.319617\n",
      "[106]\tvalidation_0-mlogloss:0.302322\tvalidation_1-mlogloss:0.318683\n",
      "[107]\tvalidation_0-mlogloss:0.301078\tvalidation_1-mlogloss:0.317542\n",
      "[108]\tvalidation_0-mlogloss:0.299996\tvalidation_1-mlogloss:0.316536\n",
      "[109]\tvalidation_0-mlogloss:0.298858\tvalidation_1-mlogloss:0.315469\n",
      "[110]\tvalidation_0-mlogloss:0.297794\tvalidation_1-mlogloss:0.314449\n",
      "[111]\tvalidation_0-mlogloss:0.296879\tvalidation_1-mlogloss:0.313598\n",
      "[112]\tvalidation_0-mlogloss:0.295735\tvalidation_1-mlogloss:0.312514\n",
      "[113]\tvalidation_0-mlogloss:0.294836\tvalidation_1-mlogloss:0.311708\n",
      "[114]\tvalidation_0-mlogloss:0.294016\tvalidation_1-mlogloss:0.310918\n",
      "[115]\tvalidation_0-mlogloss:0.293221\tvalidation_1-mlogloss:0.310201\n",
      "[116]\tvalidation_0-mlogloss:0.292333\tvalidation_1-mlogloss:0.309393\n",
      "[117]\tvalidation_0-mlogloss:0.291515\tvalidation_1-mlogloss:0.308648\n",
      "[118]\tvalidation_0-mlogloss:0.290695\tvalidation_1-mlogloss:0.307921\n",
      "[119]\tvalidation_0-mlogloss:0.28988\tvalidation_1-mlogloss:0.30717\n",
      "[120]\tvalidation_0-mlogloss:0.289118\tvalidation_1-mlogloss:0.306456\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[121]\tvalidation_0-mlogloss:0.288456\tvalidation_1-mlogloss:0.305847\n",
      "[122]\tvalidation_0-mlogloss:0.287421\tvalidation_1-mlogloss:0.304941\n",
      "[123]\tvalidation_0-mlogloss:0.286631\tvalidation_1-mlogloss:0.304208\n",
      "[124]\tvalidation_0-mlogloss:0.285663\tvalidation_1-mlogloss:0.303279\n",
      "[125]\tvalidation_0-mlogloss:0.284897\tvalidation_1-mlogloss:0.302577\n",
      "[126]\tvalidation_0-mlogloss:0.284067\tvalidation_1-mlogloss:0.301814\n",
      "[127]\tvalidation_0-mlogloss:0.283458\tvalidation_1-mlogloss:0.301265\n",
      "[128]\tvalidation_0-mlogloss:0.282729\tvalidation_1-mlogloss:0.300583\n",
      "[129]\tvalidation_0-mlogloss:0.281984\tvalidation_1-mlogloss:0.299907\n",
      "[130]\tvalidation_0-mlogloss:0.281122\tvalidation_1-mlogloss:0.299122\n",
      "[131]\tvalidation_0-mlogloss:0.28047\tvalidation_1-mlogloss:0.298519\n",
      "[132]\tvalidation_0-mlogloss:0.27971\tvalidation_1-mlogloss:0.297795\n",
      "[133]\tvalidation_0-mlogloss:0.279117\tvalidation_1-mlogloss:0.297266\n",
      "[134]\tvalidation_0-mlogloss:0.278369\tvalidation_1-mlogloss:0.29657\n",
      "[135]\tvalidation_0-mlogloss:0.277535\tvalidation_1-mlogloss:0.295789\n",
      "[136]\tvalidation_0-mlogloss:0.276971\tvalidation_1-mlogloss:0.295274\n",
      "[137]\tvalidation_0-mlogloss:0.276187\tvalidation_1-mlogloss:0.294528\n",
      "[138]\tvalidation_0-mlogloss:0.275598\tvalidation_1-mlogloss:0.294028\n",
      "[139]\tvalidation_0-mlogloss:0.274842\tvalidation_1-mlogloss:0.293345\n",
      "[140]\tvalidation_0-mlogloss:0.274305\tvalidation_1-mlogloss:0.29287\n",
      "[141]\tvalidation_0-mlogloss:0.273826\tvalidation_1-mlogloss:0.292442\n",
      "[142]\tvalidation_0-mlogloss:0.27315\tvalidation_1-mlogloss:0.291817\n",
      "[143]\tvalidation_0-mlogloss:0.272462\tvalidation_1-mlogloss:0.291216\n",
      "[144]\tvalidation_0-mlogloss:0.271607\tvalidation_1-mlogloss:0.290446\n",
      "[145]\tvalidation_0-mlogloss:0.27103\tvalidation_1-mlogloss:0.289922\n",
      "[146]\tvalidation_0-mlogloss:0.270438\tvalidation_1-mlogloss:0.2894\n",
      "[147]\tvalidation_0-mlogloss:0.269957\tvalidation_1-mlogloss:0.288973\n",
      "[148]\tvalidation_0-mlogloss:0.269333\tvalidation_1-mlogloss:0.288404\n",
      "[149]\tvalidation_0-mlogloss:0.268862\tvalidation_1-mlogloss:0.287961\n",
      "[150]\tvalidation_0-mlogloss:0.26823\tvalidation_1-mlogloss:0.287384\n",
      "[151]\tvalidation_0-mlogloss:0.267569\tvalidation_1-mlogloss:0.28676\n",
      "[152]\tvalidation_0-mlogloss:0.267032\tvalidation_1-mlogloss:0.28627\n",
      "[153]\tvalidation_0-mlogloss:0.266502\tvalidation_1-mlogloss:0.285788\n",
      "[154]\tvalidation_0-mlogloss:0.265921\tvalidation_1-mlogloss:0.285254\n",
      "[155]\tvalidation_0-mlogloss:0.265378\tvalidation_1-mlogloss:0.284779\n",
      "[156]\tvalidation_0-mlogloss:0.264705\tvalidation_1-mlogloss:0.284158\n",
      "[157]\tvalidation_0-mlogloss:0.264217\tvalidation_1-mlogloss:0.283731\n",
      "[158]\tvalidation_0-mlogloss:0.263542\tvalidation_1-mlogloss:0.283112\n",
      "[159]\tvalidation_0-mlogloss:0.26301\tvalidation_1-mlogloss:0.282602\n",
      "[160]\tvalidation_0-mlogloss:0.262497\tvalidation_1-mlogloss:0.282141\n",
      "[161]\tvalidation_0-mlogloss:0.26205\tvalidation_1-mlogloss:0.281729\n",
      "[162]\tvalidation_0-mlogloss:0.261519\tvalidation_1-mlogloss:0.281249\n",
      "[163]\tvalidation_0-mlogloss:0.260849\tvalidation_1-mlogloss:0.280641\n",
      "[164]\tvalidation_0-mlogloss:0.26034\tvalidation_1-mlogloss:0.28018\n",
      "[165]\tvalidation_0-mlogloss:0.259541\tvalidation_1-mlogloss:0.279456\n",
      "[166]\tvalidation_0-mlogloss:0.25883\tvalidation_1-mlogloss:0.278796\n",
      "[167]\tvalidation_0-mlogloss:0.258381\tvalidation_1-mlogloss:0.278401\n",
      "[168]\tvalidation_0-mlogloss:0.257536\tvalidation_1-mlogloss:0.277603\n",
      "[169]\tvalidation_0-mlogloss:0.256926\tvalidation_1-mlogloss:0.277034\n",
      "[170]\tvalidation_0-mlogloss:0.256217\tvalidation_1-mlogloss:0.276391\n",
      "[171]\tvalidation_0-mlogloss:0.255734\tvalidation_1-mlogloss:0.275931\n",
      "[172]\tvalidation_0-mlogloss:0.255326\tvalidation_1-mlogloss:0.275588\n",
      "[173]\tvalidation_0-mlogloss:0.254718\tvalidation_1-mlogloss:0.275033\n",
      "[174]\tvalidation_0-mlogloss:0.25397\tvalidation_1-mlogloss:0.274346\n",
      "[175]\tvalidation_0-mlogloss:0.253322\tvalidation_1-mlogloss:0.273772\n",
      "[176]\tvalidation_0-mlogloss:0.252768\tvalidation_1-mlogloss:0.273286\n",
      "[177]\tvalidation_0-mlogloss:0.252183\tvalidation_1-mlogloss:0.272759\n",
      "[178]\tvalidation_0-mlogloss:0.251801\tvalidation_1-mlogloss:0.272413\n",
      "[179]\tvalidation_0-mlogloss:0.251044\tvalidation_1-mlogloss:0.271715\n",
      "[180]\tvalidation_0-mlogloss:0.250596\tvalidation_1-mlogloss:0.271312\n",
      "[181]\tvalidation_0-mlogloss:0.249811\tvalidation_1-mlogloss:0.270588\n",
      "[182]\tvalidation_0-mlogloss:0.249154\tvalidation_1-mlogloss:0.270003\n",
      "[183]\tvalidation_0-mlogloss:0.248619\tvalidation_1-mlogloss:0.269501\n",
      "[184]\tvalidation_0-mlogloss:0.248087\tvalidation_1-mlogloss:0.269014\n",
      "[185]\tvalidation_0-mlogloss:0.247408\tvalidation_1-mlogloss:0.2684\n",
      "[186]\tvalidation_0-mlogloss:0.247023\tvalidation_1-mlogloss:0.268071\n",
      "[187]\tvalidation_0-mlogloss:0.246452\tvalidation_1-mlogloss:0.267546\n",
      "[188]\tvalidation_0-mlogloss:0.246079\tvalidation_1-mlogloss:0.26721\n",
      "[189]\tvalidation_0-mlogloss:0.245671\tvalidation_1-mlogloss:0.266839\n",
      "[190]\tvalidation_0-mlogloss:0.245056\tvalidation_1-mlogloss:0.26629\n",
      "[191]\tvalidation_0-mlogloss:0.244723\tvalidation_1-mlogloss:0.265981\n",
      "[192]\tvalidation_0-mlogloss:0.244087\tvalidation_1-mlogloss:0.265402\n",
      "[193]\tvalidation_0-mlogloss:0.243436\tvalidation_1-mlogloss:0.26476\n",
      "[194]\tvalidation_0-mlogloss:0.243053\tvalidation_1-mlogloss:0.264415\n",
      "[195]\tvalidation_0-mlogloss:0.242297\tvalidation_1-mlogloss:0.263721\n",
      "[196]\tvalidation_0-mlogloss:0.241725\tvalidation_1-mlogloss:0.263193\n",
      "[197]\tvalidation_0-mlogloss:0.241156\tvalidation_1-mlogloss:0.2627\n",
      "[198]\tvalidation_0-mlogloss:0.240583\tvalidation_1-mlogloss:0.262172\n",
      "[199]\tvalidation_0-mlogloss:0.23993\tvalidation_1-mlogloss:0.261567\n",
      "Number of trees for best model: 200\n",
      "Model parameters: {'base_score': 0.5, 'booster': 'gbtree', 'colsample_bylevel': 1, 'colsample_bytree': 1, 'gamma': 0, 'learning_rate': 0.1, 'max_delta_step': 0, 'max_depth': 0, 'min_child_weight': 1, 'missing': None, 'n_estimators': 200, 'n_jobs': 1, 'nthread': None, 'objective': 'multi:softprob', 'random_state': 0, 'reg_alpha': 0, 'reg_lambda': 1, 'scale_pos_weight': 1, 'seed': None, 'silent': True, 'subsample': 1, 'tree_method': 'hist', 'grow_policy': 'lossguide', 'max_leaves': 64}\n",
      "CPU times: user 13min 13s, sys: 4.23 s, total: 13min 18s\n",
      "Wall time: 13min 17s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "dofinalcputest=1\n",
    "if dofinalcputest==1:\n",
    "    ###############################################\n",
    "    #\n",
    "    # CPU Model (compare time to GPU DEMO of feature importance) .\n",
    "    #\n",
    "    ###############################################\n",
    "    # SKLEARN CPU HIST LOSSGUIDE\n",
    "    kwargs['tree_method'] = 'hist'\n",
    "    kwargs['grow_policy'] = \"lossguide\"\n",
    "    kwargs['max_depth'] = 0\n",
    "    kwargs['max_leaves'] = np.power(2,maxdepth_more)\n",
    "    kwargs['n_estimators'] = num_round_more\n",
    "    model = xgb.XGBClassifier(**kwargs)\n",
    "    eval_set = [(X_train, y_train),(X_test, y_test)]\n",
    "    model.fit(X=X_train, y=y_train, verbose=True, eval_set=eval_set, eval_metric=eval_metric, early_stopping_rounds=20)\n",
    "    print(\"Number of trees for best model: %d\" % model.best_ntree_limit)\n",
    "    print(\"Model parameters: %s\" % str(model.get_params()))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3.6.1(pyenv)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
